После переноса на другой хостинг не работают постоянные ссылки в WordPress. Что делать?

После переноса сайта под управлением WordPress на другой хостинг нередко возникает проблема с работой постоянных ссылок. Когда главная страница сайта отображается полностью как положено, но при переходе по любой из ссылок на сайте в браузере можно увидеть только сообщение об ошибке.

Рассмотрим способы разрешения данной ситуации в соответствии с возможными причинами её возникновения.

Ошибка в самом WordPress

Данная особенность работы WordPress известна уже давно, однако на момент написания статьи она так и не была исправлена.

Для того чтобы постоянные ссылки заработали нужно в админпанели сайта в разделе «Настройки»-«Постоянные ссылки» изменить тип постоянных ссылок на любой другой (обязательно с сохранением настроек). А, после этого задать прежний тип постоянных ссылок.

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

В файле .htaccess отсутствуют необходимые директивы

Для работы постоянных ссылок в файле .htaccess в корневом каталоге сайта должен присутствовать следующий набор директив.

Как правило, его прописывает сам WordPress. Если же указанные директивы в файле .htaccess всё-таки отсутствуют их следует прописать самостоятельно.

Не работает файл .htaccess

Эту причину можно условно разделить на целых две:

  • В конфигурации виртуального хоста Apache отключена поддержка .htaccess;
  • У Apache не подключен модуль Rewrite, который собственно и обеспечивает поддержку .htaccess этим web сервером.

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

В первом случае необходимо проверить содержимое конфигурационного файла виртуального хоста Apache, на котором развёрнут сайт. Конфигурационные файлы виртуальных хостов хранятся в директории /etc/apache2/sites-available.

В файле конфигурации должны быть следующие строки:

Если они отсутствуют их необходимо добавить. Если они есть, то значение параметра AllowOwerride следует установить равным all (как в примере выше). После этого нужно сохранить сделанные изменения и либо перезагрузить Apache, либо обновить его конфигурацию.

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

Во втором случае необходимо включить модуль Rewrite. Для этого в консоли выполняем соответствующую команду.

После этого необходимо включить поддержку .htaccess в конфигурации виртуального хоста, как это было описано выше, если она не была включена ранее.

После завершения всех операций обязательно перезапускаенм Apache

Диагностика причин возникновения проблемы

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

Рекомендуется выполнять диагностику работы сайта последовательно по принципу «от простого к сложному».

  1. Изменяем в админпанели тип постоянных ссылок и после этого возвращаем прежнее значение. Если проблем была в самом WordPress, поиск и устранение «неисправностей» на этом закончатся;
  2. Изучаем содержимое файла .htaccess. Если при наличии в нём необходимых директив постоянные ссылки не работают, переходим к работе непосредственно с Apache;
  3. Проверяем файл конфигурации виртуального хоста. Если после внесения в него всех исправлений и перезапуска или обновления конфигурации Apache постоянные ссылки всё равно не заработали, переходим к последнему шагу;
  4. Подключаем модуль Rewrite.

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

Один комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *