Skip Navigation

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

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

Сотрудники Службы поддержки сегодня не доступны на форуме Russian. Создайте обращение и мы возьмемся за решение вашего вопроса, как только будем в сети. Благодарим за понимание.

Помечено: 

This topic contains 9 ответов, has 2 голосов.

Last updated by Andrey 2 месяца, 1 неделя назад.

Assisted by: Andrey.

Автор Посты
20 сентября, 2023 в 8:17 пп #14433555

fazaR

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

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

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

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

Andrey
Supporter

Languages: Английский (English ) Русский (Русский )

Timezone: Europe/Kyiv (GMT+02:00)

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

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

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

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

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

fazaR

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

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

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

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

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

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

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

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

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

Andrey
Supporter

Languages: Английский (English ) Русский (Русский )

Timezone: Europe/Kyiv (GMT+02:00)


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

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

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

fazaR

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

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

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

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

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

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

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

fazaR

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

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

Andrey
Supporter

Languages: Английский (English ) Русский (Русский )

Timezone: Europe/Kyiv (GMT+02:00)

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

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

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

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

Andrey
Supporter

Languages: Английский (English ) Русский (Русский )

Timezone: Europe/Kyiv (GMT+02: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
Supporter

Languages: Английский (English ) Русский (Русский )

Timezone: Europe/Kyiv (GMT+02:00)

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

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

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

This ticket is now closed. If you're a WPML client and need related help, please open a new support ticket.