WPML
Статус
Решено

Обзор проблемы

Если Вы меняете формат URL после того, как Ваши записи опубликованы и переведены, у Вас может возникнуть проблема с перенаправлением URL-адресов, если вводить их напрямую в адресную строку браузера.

Например:

  • Вы используете Разные языки в каталогах с WPML, и страница Вашего сайта имеет такой URL-адрес, как http://mysite.com/es/pagina-de-muestra/
  • Теперь измените формат URL на Свой домен для каждого языка, и указанный выше URL-адрес станет таким: http://misitio.es/pagina-de-muestra/
  • Откройте напрямую http://mysite.com/es/pagina-de-muestra/

Результатом будет уведомление сервера об ошибке 404.

* Примечание — плагин WPML Клейкие ссылки предотвращает похожую, но не точно такую же ситуацию — но в данном случае, поскольку Вы напрямую используете URL-адрес, он не поможет

Обходное решение

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

Для предыдущего сценария Вам следует поместить аналогичный код прямо над правилами WordPress. Размещение в самом начале .htaccess вполне подойдёт:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^mysite.com [NC]
RewriteRule ^es(.*)$ http://misitio.es$1 [L,R=301]

Теперь все запросы к http://mysite.com/es/pagina-de-muestra/ будут перенаправляться на http://misitio.es/pagina-de-muestra/.

Пожалуйста, имейте в виду, что:


  • Это работает только на Apache с включённым mod-rewrite

  • Существует множество ресурсов на эту тему, например, этот блог.

На данный момент Вам важно знать, что ожидаемое поведение при изменении формата URL заключается в следующем: если Вы попытаетесь зайти на старый домен напрямую (через адресную строку), Вы получите перенаправление 301 на основной язык по умолчанию.

Все известные проблемы →