Nginx Linux

Nginx: rewrite or internal redirection cycle while internally redirecting

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

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

Ошибка возникает при зацикливании внутренних перенаправлений, обычно из-за try_files или index. Проверьте существование конечного файла и порядок директив.

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

#Что означает ошибка

Сообщение
internal redirection cycle

Ошибка возникает при зацикливании внутренних перенаправлений, обычно из-за try_files или index. Проверьте существование конечного файла и порядок директив.

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

Возможная причинаКак узнатьЧто делать
Цикл try_filesВ случае «Nginx: rewrite or internal redirection cycle while internally redirecting» проверьте наличие причины «Цикл try_files» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Исправьте. Конкретное действие зависит от проверки причины «Цикл try_files», описанной в пошаговой инструкции.
Нет indexВ случае «Nginx: rewrite or internal redirection cycle while internally redirecting» проверьте наличие причины «Нет index» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Создайте
Неверный rootВ случае «Nginx: rewrite or internal redirection cycle while internally redirecting» проверьте наличие причины «Неверный root» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Исправьте. Конкретное действие зависит от проверки причины «Неверный root», описанной в пошаговой инструкции.
Конфликт locationВ случае «Nginx: rewrite or internal redirection cycle while internally redirecting» проверьте наличие причины «Конфликт location» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Упростите

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

  1. Определите причинуВ журнале Nginx найдите время запроса и сообщение rewrite or internal redirection cycle while internally redirecting to ... через sudo tail -n 100 /var/log/nginx/error.log. Запишите конечный внутренний путь, например /index.php, и реальный адрес страницы. Это цикл внутри конфигурации, а не всегда видимые браузером 301/302.
  2. Выполните подходящее исправлениеОткройте конфигурацию нужного сайта и найдите rewrite, try_files, error_page и location через sudo nginx -T (не публикуйте вывод с секретами). Отследите цепочку: запрос переходит в один путь, тот снова направляет его на прежний. Особенно проверьте обработку /index.php и fallback при отсутствующем файле.
  3. Проверьте другие возможные причиныСохраните резервную копию виртуального хоста и исправьте только зацикленное правило: для PHP-сайта уточните существование index.php в root, корректность try_files и обработку PHP через fastcgi_pass. Не копируйте пример чужой CMS без проверки корня сайта и схемы приложений.
  4. Убедитесь в результатеВыполните sudo nginx -t и только после успешной проверки перезагрузите конфигурацию командой sudo systemctl reload nginx. Откройте проблемный URL и несуществующую страницу: нормальная обработка должна вернуть страницу или настоящий 404, а не зациклиться. При ошибке верните сохранённый файл.

#Если проблема осталась

При повторении «Nginx: rewrite or internal redirection cycle while internally redirecting» сохраните обезличенную строку из журнала и верните прежнюю конфигурацию, если правка ухудшила работу сайта. Уточните активную версию процесса и конфигурационный файл, прежде чем предпринимать следующий шаг.

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

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

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