ERR_TOO_MANY_REDIRECTS: сайт перенаправил слишком много раз

ERR_TOO_MANY_REDIRECTS значит, что адрес А отправил браузер на Б, Б обратно на А, и так по кругу, пока браузер не остановился. Петлю создают две настройки, которые тянут адрес в разные стороны: например, одна требует https, другая возвращает http. Найти пару проще всего по цепочке ответов.

Обновлено 29 октября 2026

Это не ваш сайт? Если чужой сайт не открывается только у вас — попробуйте другой браузер, мобильный интернет и отключите VPN. Дальше на странице — разбор для владельца сайта.

Не путайте со взломом

Петля редиректов — ошибка настройки: сайт не открывается ни у кого. Если же сайт открывается, но уводит посетителей на чужой сайт, это вредоносный код: сайт перенаправляет на чужой сайт.

Шаг 1. Выясните, у кого ошибка

Откройте адрес в режиме инкогнито и с телефона через мобильный интернет.

  • В инкогнито или на телефоне открывается. Причина в данных браузера. Удалите cookie для этого сайта или откройте его в другом браузере. Если не помогло, переходите к шагу 2.
  • Не открывается нигде. Петля на стороне сайта. Если это не ваш сайт, подождите или напишите владельцу. Если ваш, переходите к шагу 2.

Шаг 2. Посмотрите цепочку редиректов

Команда покажет каждый переход, не открывая страницу:

curl -sIL --max-redirs 8 https://example.ru

В выводе смотрите строки HTTP/ с кодом 301 или 302 и строки location:. Если два адреса повторяются по кругу, вы нашли петлю. Эта пара подсказывает причину:

Что в цепочкеВероятная причинаЧто делать
http:// → https:// → http://Одна настройка требует HTTPS, другая возвращает HTTPШаги 3 и 4
example.ru → www.example.ru → example.ruСервер и CMS по-разному решают, нужен ли wwwОставьте один вариант адреса в обоих местах
Адрес перенаправляет сам на себяПравило в .htaccess, плагин редиректов или location в nginxШаг 3 или 4
Петля только при входе в админкуАдрес сайта в настройках CMS не совпадает с тем, что открыт в браузереШаг 3

Если curl не установлен, вкладка «Сеть» в инструментах разработчика браузера (F12) с включённым сохранением журнала показывает те же переходы.

Не хотите разбираться сами? Пришлём оценку в часах до начала работы, первая задача до 2 часов бесплатно.

Отправить задачу

Шаг 3. WordPress

  1. Адрес сайта. В «Настройки → Общие» поля «Адрес WordPress (URL)» и «Адрес сайта (URL)» должны начинаться с https://, если сайт работает по HTTPS, и не заканчиваться слешем (документация WordPress). Если в админку войти нельзя, задайте адреса в wp-config.php:
define( 'WP_HOME', 'https://example.ru' );
define( 'WP_SITEURL', 'https://example.ru' );

Пока эти строки есть, поля в настройках недоступны для правки. Это нормально, так задумано.

  1. Плагины. Плагины редиректов, кеша и безопасности умеют перенаправлять запросы. Переименуйте папку wp-content/plugins в plugins-off: WordPress отключит все плагины. Если петля исчезла, верните имя и включайте плагины по одному.
  1. Файл .htaccess. Переименуйте его в .htaccess-old и откройте сайт. Если петля исчезла, правила в файле противоречат настройкам. Блок # BEGIN WordPress создаётся заново, когда вы сохраняете «Настройки → Постоянные ссылки» (если файл доступен для записи); свои правила редиректа возвращайте по одному.
  1. Сайт за прокси или балансировщиком. Если шифрование завершается на прокси, а до WordPress трафик идёт по HTTP, WordPress считает каждый запрос небезопасным и отправляет его на HTTPS снова. Документация WordPress называет это бесконечной петлёй и предлагает распознавать заголовок X-Forwarded-Proto в wp-config.php:
if ( strpos( $_SERVER['HTTP_X_FORWARDED_PROTO'], 'https' ) !== false ) {
    $_SERVER['HTTPS'] = 'on';
}

Прокси должен передавать заголовок. В nginx для этого есть строка proxy_set_header X-Forwarded-Proto $scheme;. Заголовок может прислать и посетитель, поэтому доверять ему можно, только если прокси его перезаписывает.

Шаг 4. Сервер: Apache и nginx

Apache, .htaccess. Редирект на HTTPS с условием, которое перестаёт срабатывать после перехода (документация Apache):

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Если шифрование завершает прокси, %{HTTPS} на сервере остаётся off, и редирект срабатывает на каждый запрос. Тогда проверяйте заголовок:

RewriteCond %{HTTP:X-Forwarded-Proto} !=https

nginx. Редирект на HTTPS должен стоять в блоке, который слушает порт 80:

server {
    listen 80;
    server_name example.ru www.example.ru;
    return 301 https://example.ru$request_uri;
}

Если такая строка попала в блок с listen 443 ssl, каждый запрос на HTTPS получает редирект на HTTPS, и петля готова. После правок: nginx -t, затем systemctl reload nginx.

Шаг 5. Cloudflare и другие CDN

Если домен стоит за Cloudflare, петля часто возникает от сочетания режима шифрования и редиректов на вашем сервере (документация Cloudflare):

Режим SSL/TLS в CloudflareЧто ломает
FlexibleCloudflare ходит на сервер по HTTP. Если сервер перенаправляет HTTP на HTTPS, получается петля
Full и Full (strict)Cloudflare ходит на сервер по HTTPS. Если сервер перенаправляет HTTPS на HTTP, получается петля

Для Flexible документация предлагает убрать редирект на HTTPS с сервера или перейти на Full либо Full (strict). Эти режимы требуют сертификата на самом сервере. Проверьте и правила редиректов в панели Cloudflare: два противоречащих правила дают ту же картину.

Шаг 6. Проверьте результат

  1. curl -sIL https://example.ru показывает один переход (или ни одного) и ответ 200.
  2. Адреса с http://, с www и без www ведут на один основной адрес за один переход.
  3. Вход в админку работает в инкогнито.
  4. Сайт открывается с телефона через мобильную сеть.

Когда нужен специалист

  • Нет доступа к серверу или файлам: сайт на виртуальном хостинге без панели с файлами.
  • Петля осталась после отключения плагинов и переименования .htaccess.
  • Сайт работает через несколько слоёв: CDN, балансировщик, nginx и Apache, и непонятно, какой из них отвечает редиректом.
  • Админка недоступна, а правка wp-config.php не помогла.
  • Редиректы нужны и по SEO (смена адресов, переезд с http, с домена на домен), и вы не хотите потерять позиции.

Сколько стоит решение у нас

ЗадачаВремяСтоимость
Исправление ошибки1–2 ч3 800–7 600 ₽
Диагностика и восстановлениеоколо 2 ч7 600 ₽

Диапазоны ориентировочные, ставка 3 800 ₽ в час. Точную оценку присылаем до начала работ. Все цены.

Не хотите разбираться сами?

Опишите проблему в форме. Пришлём оценку в часах до начала работы, первая задача до 2 часов бесплатно для новых клиентов.

Отправить задачу

Частые вопросы

Сколько редиректов допускает браузер?

Спецификация HTTP требует, чтобы клиент обнаруживал циклические редиректы и вмешивался (RFC 9110, раздел 15.4). Точный лимит зависит от браузера. Для владельца сайта число не важно: правильная настройка даёт один переход.

Почему на сервере 500, а не ERR_TOO_MANY_REDIRECTS?

Это другая петля, внутренняя. В nginx цикл перезаписи адреса прерывается после десяти повторов с ответом 500 (документация nginx). Читайте про ошибку 500.

Влияет ли петля на поисковую выдачу?

Робот не получает страницу, пока цикл не исправлен, и такие адреса не попадут в индекс. Проверьте в Яндекс Вебмастере и Search Console, что после исправления страницы снова отвечают кодом 200.

Можно ли решить очисткой кеша браузера?

Только если проблема в cookie и сохранённых данных на вашем устройстве (шаг 1). Если петля у всех посетителей, очистка на вашем устройстве ничего не изменит.