Что означает ошибка «Сайт выполнил переадресацию слишком много раз»?

Когда вы видите в браузере сообщение об ошибке «Сайт выполнил переадресацию слишком много раз» (или «ERR_TOO_MANY_REDIRECTS»), это означает, что ваш браузер попал в логическую ловушку, созданную самим сайтом. Сервер, на котором расположен сайт, отправляет браузеру команды перенаправить запрос с одной страницы на другую, но эти команды образуют замкнутый круг. В результате браузер бесконечно «гоняется» по этому кругу, не в силах загрузить конечную страницу.

Для защиты от зависания и чрезмерной нагрузки браузеры имеют встроенный лимит на количество последовательных переадресаций (обычно около 10-20). Как только этот лимит превышается, браузер останавливает процесс и показывает пользователю ошибку. Это не проблема вашего компьютера или интернет-соединения — корень зла лежит в неправильной настройке самого веб-ресурса.

Простыми словами: Представьте, что вы спрашиваете дорогу у двух человек. Первый говорит: «Спроси у второго». Второй отвечает: «Спроси у первого». Вы будете ходить по кругу, пока не устанете. Именно это и происходит с браузером при циклическом редиректе.

Техническая суть: циклический редирект

В основе ошибки лежит явление циклического редиректа. Переадресация (редирект) — это стандартный и полезный инструмент. Например, он работает, когда вы заходите на старую версию сайта по HTTP, а сервер автоматически переправляет вас на безопасную версию по HTTPS. Проблема возникает, когда создаётся петля:

  • Страница A перенаправляет на страницу B.
  • Страница B перенаправляет на страницу C.
  • Страница C снова перенаправляет на страницу A.

Или в более простом, но частом случае:

  • Сайт с HTTPS перенаправляет на свою же версию с WWW.
  • Версия с WWW настроена так, чтобы всегда использовать HTTPS.
  • HTTPS-версия снова перенаправляет на WWW, и круг замыкается.

Основные причины возникновения ошибки

Чаще всего бесконечная переадресация возникает из-за конфликта или дублирования правил перенаправления. Вот ключевые причины:

1. Некорректная настройка HTTPS/SSL

Самая распространённая ситуация. После установки SSL-сертификата для перехода на безопасный протокол HTTPS необходимо правильно настроить редиректы. Ошибка появляется, если:

  • В настройках CMS (например, WordPress) в полях «Адрес сайта» и «Адрес WordPress» остался старый протокол http://, в то время как сервер или плагины уже настроены на принудительное использование https://.
  • Редирект с HTTP на HTTPS прописан одновременно в нескольких местах: в конфигурационном файле сервера (например, .htaccess для Apache), в настройках панели хостинга и в плагине CMS. Эти правила начинают конфликтовать.

2. Конфликтующие правила в .htaccess или конфиге сервера

Файл .htaccess (на серверах Apache) или конфигурационные файлы Nginx управляют перенаправлениями на уровне сервера. Непрофессиональное редактирование, добавление взаимоисключающих правил или синтаксические ошибки легко создают циклы.

3. Неправильные настройки в CDN или облачном сервисе

Сервисы типа Cloudflare также имеют настройки редиректов (например, «Always use HTTPS»). Если они включены одновременно с аналогичными настройками на хостинге, возникает конфликт.

4. Проблемы с cookies или сессиями

Реже ошибка может возникать на стороне пользователя из-за повреждённых файлов cookie или данных сессии для конкретного сайта. В этом случае проблема проявляется только в одном браузере.

Что делать, если вы столкнулись с ошибкой?

Ваши действия зависят от того, кем вы являетесь: рядовым посетителем сайта или его владельцем/администратором.

Для пользователя (посетителя сайта):

  1. Очистите кэш и cookies браузера для проблемного сайта. Это самый простой и часто помогающий способ.
  2. Попробуйте открыть сайт в режиме инкогнито (приватного просмотра). Если в этом режиме сайт работает, проблема точно в ваших сохранённых данных (cookies, кэш).
  3. Попробуйте зайти с другого браузера или устройства.
  4. Если ничего не помогает, остаётся только ждать, пока владелец ресурса обнаружит и исправит проблему на своей стороне. Вы можете попытаться связаться с поддержкой сайта.

Для владельца или администратора сайта:

  1. Проверьте базовые настройки CMS. Например, в WordPress зайдите в «Настройки» → «Общие» и убедитесь, что в полях «Адрес WordPress (URL)» и «Адрес сайта (URL)» указан один и тот же адрес с правильным протоколом (скорее всего, https://).
  2. Отключите все плагины кэширования и редиректов на время диагностики. Часто виноваты именно они.
  3. Проверьте файл .htaccess. Временно переименуйте его (например, в .htaccess_old), чтобы отключить все правила. Если ошибка исчезла, проблема именно в нём. Восстанавливайте файл по частям или замените его на стандартный.
  4. Отключите принудительное использование HTTPS в панели хостинга, если оно включено там и в CMS одновременно.
  5. Временно отключите CDN (например, Cloudflare), чтобы исключить его влияние.
  6. Используйте онлайн-сервисы для проверки цепочки редиректов. Они покажут, по какому пути идёт перенаправление и где замыкается круг.

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

Источники