Коротко. ERR_TOO_MANY_REDIRECTS значит, что сайт зациклился: страница A ведёт на B, B обратно на A, и браузер прерывает бесконечную петлю. Чаще всего виноваты конфликт SSL/TLS проверку-редиректа и SSL у CDN (Cloudflare в режиме Flexible), неверные правила www/non-www или битый cookie сессии. Первый шаг — увидеть всю цепочку командой curl -sIL https://example.com и найти, где она зацикливается.
Что значит ERR_TOO_MANY_REDIRECTS
Браузеры ограничивают число последовательных редиректов (обычно ~20). Если лимит превышен, выводится эта ошибка. Технически сервер бесконечно отдаёт ответы 301/302 с заголовком Location, который снова и снова возвращает на уже посещённый URL.
Цикл редиректов — это всегда ошибка конфигурации, а не сбой сети. Сайт «работает», но логика перенаправлений противоречит сама себе.
Основные причины
- Cloudflare Flexible SSL — CDN шлёт HTTP на сервер, сервер редиректит на HTTPS, петля.
- Конфликт www и non-www — одно правило ведёт на www, другое обратно.
- HTTP→HTTPS редирект настроен и на сервере, и в CMS/CDN одновременно.
- Битый cookie сессии заставляет приложение редиректить на логин по кругу.
- Неверный
.htaccessили nginx-конфиг с зацикленными rewrite-правилами.
Диагностика: увидеть всю цепочку
Главный инструмент — curl с флагом следования за редиректами. Он покажет каждый шаг и заголовок Location:
# Показать всю цепочку редиректов и заголовки
curl -sIL https://example.com
# Подробный режим с кодами статуса
curl -I -v https://example.com
Ищите повторяющиеся URL в заголовках Location: — это и есть точка зацикливания.
Исправление на стороне пользователя
- Очистите cookie именно этого сайта — частая причина петли на страницах с логином.
- Откройте сайт в инкогнито — это исключит старые cookie и кэш.
- Сбросьте кэш браузера полностью.
- Проверьте, не подменяет ли расширение или антивирус заголовки.
Исправление на стороне сервера
Если петля у всех — правьте конфигурацию редиректов. Типовые шаги:
- Cloudflare: переключите SSL/TLS с Flexible на Full или Full (strict).
- WordPress: проверьте, что
siteurlиhomeиспользуют один и тот же протокол и домен (оба https, оба с www или оба без). - nginx/Apache: оставьте ровно одно правило HTTP→HTTPS и одно www/non-www, без дублей в CMS.
# Корректный единственный редирект на HTTPS (nginx)
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
Причины и решения
| Причина | Решение |
|---|---|
| Cloudflare Flexible SSL | Переключить на Full (strict) |
| Конфликт www/non-www | Оставить одно каноническое правило |
| Двойной HTTP→HTTPS | Убрать дубль в CMS или CDN |
| Битый cookie | Очистить cookie сайта |
| Зацикленный rewrite | Упростить .htaccess/nginx-правила |
Как предотвратить повторение
После любой правки редиректов проверяйте цепочку — одно лишнее правило снова создаст петлю. Автоматическая проверка редиректов покажет полный путь и коды статуса без ручного curl. А мониторинг сайтов с алертами поймает момент, когда деплой или смена SSL-режима снова сломали перенаправления.
Проверьте цепочку редиректов в один клик, а HTTP-чекер покажет заголовки и коды. Подробно о грамотных редиректах — в статье редиректы и SEO. О непрерывном контроле — руководство по мониторингу.
Частые вопросы
Почему ошибка появилась после подключения Cloudflare?
Почти всегда из-за режима Flexible SSL: Cloudflare обращается к серверу по HTTP, сервер редиректит на HTTPS, и образуется петля. Переключите на Full (strict).
Поможет ли просто очистить cookie?
Если петля на странице с авторизацией — да, битый cookie сессии часто причина. Но если виноват серверный конфиг, очистка cookie не поможет всем пользователям.
Как быстро найти, где зацикливается?
Выполните curl -sIL https://example.com и найдите повторяющийся URL в заголовках Location. Это точка петли.
Сколько редиректов допустимо?
Технически браузер терпит ~20, но для SEO и скорости держите цепочку не длиннее 1–2 переходов.