Ошибка 404 на внутренних страницах при переносе сайта

Если главная страница сайта отображается, а внутренние выдают ошибку 404 или 500, проблема заключается в отсутствии файла .htaccess или его неправильном содержании.

Внутренние страницы перестают открываться на CMS (WordPress, Joomla, DLE), поскольку в этих системах файл .htaccess имеет большое значение и часто видоизменяется. Проблема появляется при переносе сайта с одного виртуального хостинга на другой.

Оглавление статьи:

Причины и решение ошибки 404/500

Файл .htaccess должен содержать записи, необходимые для работы CMS. При переносе сайта на новый хостинг, особенно через браузерные версии панелей хостеров, данный файл может не попасть в архив из-за настроек безопасности. Как следствие, на новом хостинге файла не будет, и правильно развернутая из бекапа и настроенная CMS работать не будет кроме главной страницы. Наиболее часто проблема наблюдается на сайтах, где вместо стандартного отображения URL подключено ЧПУ.

Внутренние страницы перестают открываться, если:

  1. Файл .htaccess отсутствует. Проблема актуальна при переносе сайта с одного хостинга на другой.
  2. Файл пустой. Содержимое файла может быть удалено по ошибке, в результате заражения сайта вирусами или по иной причине.
  3. Содержимое файла изменено или повреждено. Если внутренние страницы сайта перестали работать после каких-либо действий с .htaccess, следует проверить файл на наличие всех директив, необходимых для работы CMS.