- Статус
- Решено
Обзор проблемы
Если Вы меняете формат 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 на основной язык по умолчанию.