Skip navigation

Это форум технической поддержки WPML – плагина для многоязычной WordPress.

Доступно для чтения всем, но только клиенты, купившие WPML, могут оставлять сообщения. Сотрудники WPML отвечают на сообщения форума 6 дней в неделю, 22 часов в сутки.

Помечено: 

Эта тема содержит 9 ответов, имеет 2 голоса.

Последнее обновление: Andrey 1 год, 7 месяцев назад.

При содействии: Andrey.

Автор Записи
20 сентября, 2023 на 8:17 пп #14433555

fazaR

В настройках выставили использовать префикс для основного языка.
На главной странице срабатывает редирект если вводим скрытая ссылка нас перенаправляет на скрытая ссылка.

Но как только мы переходим по адресу скрытая ссылка то не происходит перенаправление на скрытая ссылка

Как реализовать что бы при переходе по урл скрытая ссылка не открывалась страница, а происходил редирект на основной язык сайта скрытая ссылка

21 сентября, 2023 на 7:23 дп #14434999

Andrey
Сторонник WPML с 06/2013

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+03:00)

Я проверил локально на чистой установке и перенаправление работает. Я вижу, что Вы добавили Settings >> General к Home URL /en/ (скрытая ссылка). Попробуйте убрать код языка и проверить результаты.

Проверьте сценарий, если временно выставить стандартную Permalink Structure /%postname%/ вместо /%category%/%postname%/.

Если все еще проблема, отключите временно все плагины кроме WPML. А также протестируйте с любой темой по умолчанию.

Дайте мне знать о результатах. Возможно этот плагин No Category Base (WPML) создает проблему.

22 сентября, 2023 на 5:52 дп #14443423

fazaR

Я проверил все выше перечисленные варианты не один из них не сработал.

Вариант отключения кода языка, не поможет по причине, если эту функцию отключить то редирект не нужен.

В моем случае как раз наоборот, он необходим.

Нужное мне поведение происходит при переходе на главную страницу сайта без языкового префикса скрытая ссылка, а после чего нас перенаправляет на урл с языковым префиксом скрытая ссылка.

Но если указать любую другую страницу например скрытая ссылка при переходе не осуществляется 301 редирект на урл с языковым префиксом, то есть не происходит редиректа на урл скрытая ссылка

таким образом получается что у нас на сайте две страницы на одном языке и по SEO получается дубль страниц.

Задача: Необходимо реализовать 301 редирект по всем страницам когда включена опция Settings >> General к Home URL /en/

Пример: Переходим на страницу скрытая ссылка а нас перенаправляет на скрытая ссылка.

22 сентября, 2023 на 6:51 дп #14443657

Andrey
Сторонник WPML с 06/2013

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+03:00)


Задача: Необходимо реализовать 301 редирект по всем страницам когда включена опция Settings >> General к Home URL /en/

Правильно ли я понимаю, что если в Settings >> General установлен Home URL без кода языка скрытая ссылка, то необходимые редикерт работает по примеру страницы скрытая ссылка >> скрытая ссылка ?

General-Settings-‹-WCML-Plugin-GUI-—-WordPress.png
22 сентября, 2023 на 12:10 пп #14446935

fazaR

Правильно ли я понимаю, что если в Settings >> General установлен Home URL без кода языка скрытая ссылка, то необходимые редикерт работает по примеру страницы скрытая ссылка >> скрытая ссылка ?

В админ панели я включил в WPML - Language - Language URL format установил Different languages in directories и проставил галочку напротив Use directory for default language

Как только я снимаю галочку с Use directory for default language то при попытке перехода по урл скрытая ссылка меня 301 редиректом перенаправляют на скрытая ссылка

Но после включения галочки Use directory for default language (каждый раз я пересохраняю Permalinks ) то при переходе по урл скрытая ссылка не происходит 301 редиректа, а открывается страница, а нужно что бы перенаправляло 301 редиректом на скрытая ссылка

Что бы работало так же как и при выключенной галочке Use directory for default language только в обратном направлении.

Проверил другие проекты, а так же на стандартном шаблоне без модулей ваш плагин так работает, что есть багом и проблемой для SEO так как генерируется куча дублей.

22 сентября, 2023 на 12:16 пп #14446945

fazaR

в Settings >> General вообше ничего не правлю. Только настройки вашего модуля включаю.

25 сентября, 2023 на 9:43 дп #14456461

Andrey
Сторонник WPML с 06/2013

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+03:00)

Спасибо за обновление. Да, я понимаю, что не происходит перенаправление в случае с опцией Use directory for default language.

Сделал дополнительные тесты, локально на чистой установке, работает так как ожидается Вами.

Мне нужно запросить временный доступ (WP-администратора и FTP) на Ваш сайт - предпочтительно к тестовому сайту, где проблема была воспроизведена, если это возможно - для того, чтобы лучше помочь. Вы найдете необходимые поля ниже поля для комментариев, когда Вы войдете, чтобы оставить свой следующий ответ. Информацию, которую Вы ведете является частной, что означает только Вы и я могу видеть и иметь доступ к ней.

25 сентября, 2023 на 2:39 пп #14459889

Andrey
Сторонник WPML с 06/2013

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+03:00)

Я понял в чем была проблема. Не хватало / косой черты к адресу сайта в базе данных. Перейдя в Settings >> General, я добавил / к адресам сайта и сохранил страницу. По факту страница показывает, что ничего не произошло, но в базе данных сохранилось.

Теперь редирект работает должным образом.

General-Settings-‹-Test-—-WordPress.png
25 сентября, 2023 на 5:35 пп #14461381
fazaR

Спасибо. За помочь. Теперь буду знать что делать, так как по умолчанию вордпресс устанавливается без / на конце урл.

Так же на тестовом проверил проблему с перезаписью .htaccess

Если установить следyющие плагины с WPML или на оборот установить WPML после:

Elementor
WooCommerce
No Category Base (WPML)

и включить в настройках WPML Use directory for default language

То в htaccess перезаписывает правила дописываются в строки с языковым префикс
Было RewriteBase /
Стало RewriteBase /en/

Было RewriteRule . /index.php [L]
Стало RewriteRule . /en/index.php [L]

и сайт падает с ошибкой 500 Internal Server Error при этом админка работает нормально.

Где то этими плагинами наверно есть конфликт у WPML

Новые потоки, созданные Andrey и связанные с этитм потоком, приведены ниже:

https://wpml.org/ru/forums/topic/split-%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc%d0%b0-%d1%81-%d0%bf%d0%b5%d1%80%d0%b5%d0%b7%d0%b0%d0%bf%d0%b8%d1%81%d1%8c%d1%8e-htaccess/

25 сентября, 2023 на 5:54 пп #14461411

Andrey
Сторонник WPML с 06/2013

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+03:00)

Да, я обратил внимание, что появилась один раз ошибка с 500 Internal Server Error, видимо связана с перезаписью .htaccess.

Так как исходной проблемы больше нет, я открыл для Вас новый билет для нового вопроса, отвечу в нем, как ее решить. Это также поможет другим пользователям с подобными проблемами найти решения при поиске на форуме.

https://wpml.org/ru/forums/topic/split-проблема-с-перезаписью-htaccess/