Joomla LinuxWeb

Joomla: ЧПУ дают 404 — .htaccess, RewriteBase и nginx

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

Переименуйте htaccess.txt в .htaccess, включите mod_rewrite или добавьте try_files в nginx.

В этой статье
  1. Что означает сообщение
  2. Причины и признаки
  3. Пошаговое решение
  4. На что обратить внимание

#Что означает сообщение

Сообщение
404 на страницах

Переименуйте htaccess.txt в .htaccess, включите mod_rewrite или добавьте try_files в nginx.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Нет .htaccessОтдельно проверьте фактор «Нет .htaccess» в момент, когда возникает описанная неисправность; сравните с работой исправного устройства или настройки. Отслеживайте результат по журналу нужной службы, не по соседним сайтам.Если проверка подтверждает «Нет .htaccess», исправьте только относящийся к нему элемент, сохранив прежнее значение и возможность возврата.
Нет mod_rewriteВ Apache модуль rewrite не активен или правила не обрабатываются из-за конфигурации AllowOverride.Проверьте активность модуля и применение .htaccess, затем протестируйте только один адрес Joomla.
nginx без try_filesnginx не читает .htaccess и передаёт отсутствующий физический путь как 404 вместо входной точки Joomla.Настройте подходящий try_files для виртуального хоста с проверкой nginx -t перед перезагрузкой.
Неверный RewriteBaseПри установке Joomla в подпапку правила перенаправления могут указывать на корень другого каталога.Сверьте RewriteBase с реальным путём и протестируйте прямой адрес внутренней страницы.

#Пошаговое решение

  1. Проверьте исходные условияВ панели Joomla откройте «Система → Общие настройки → Сайт» и найдите параметр «Дружественные URL» (названия зависят от выпуска). Запишите его прежнее значение, затем для проверки откройте страницу с выключенным ЧПУ. Если без ЧПУ страница работает, ошибка связана с обработкой адресов, а не с самой статьёй.
  2. Создайте .htaccessЕсли веб-сервер Apache, через файловый менеджер хостинга включите отображение скрытых файлов и проверьте наличие .htaccess в корне Joomla. При наличии htaccess.txt сначала сохраните копию текущего .htaccess, затем используйте официальный шаблон вашей версии Joomla; не перезаписывайте имеющиеся защитные правила без сравнения.
  3. Проверьте другую возможную причинуДля Joomla в подпапке проверьте RewriteBase в .htaccess: она должна соответствовать относительному пути к сайту, а не произвольному домену. Убедитесь, что Apache разрешает правила .htaccess и работает модуль rewrite, например через настройки виртуального хоста или поддержку хостинга. Меняйте только проверенную директиву, предварительно сохранив оригинал.
  4. Проверьте итогЕсли сервер Nginx, .htaccess вообще не обрабатывается: администратор должен проверить правило try_files и передачу запроса во фронт-контроллер index.php в конфигурации виртуального хоста. После изменения выполните nginx -t, затем согласованную перезагрузку конфигурации. Откройте старую и новую ссылку, проверьте отсутствие цикла перенаправлений и реальные HTTP-коды 200/404.

#На что обратить внимание

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

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.