TrueURL
TrueURL

Меню

Бесплатная проверка редиректов

Проверка циклических редиректов

Если браузер сообщает о слишком большом количестве редиректов, значит, сайт гоняет его по кругу. TrueURL следует за редиректами, пока цикл не замкнется, и показывает все задействованные URL.

Что такое циклический редирект?

Циклический редирект возникает, когда URL A перенаправляет на URL B, а B — напрямую или через другие переходы — обратно на A. Браузеры проходят около 20 редиректов, а затем сдаются и показывают ошибку: ERR_TOO_MANY_REDIRECTS в Chrome и Edge, The page isn't redirecting properly в Firefox или Too many redirects occurred в Safari. Поисковые системы не могут проиндексировать страницу, застрявшую в цикле.

Как TrueURL обнаруживает циклы

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

Поскольку TrueURL хранит cookie как браузер, он отличает настоящий цикл от обычного «рукопожатия» с cookie, когда сайт устанавливает cookie и один раз отправляет вас обратно на тот же URL. Если состояние меняется при каждом проходе, цепочка продолжается до лимита «Максимум переходов» из дополнительных настроек (не более 50). Цепочка, которая упирается в этот лимит, обычно тоже оказывается бесконечным циклом — например, если на каждом переходе добавляется новый параметр запроса.

Типичные причины циклических редиректов

  • HTTP и HTTPS за прокси или CDN: CDN подключается к вашему серверу по HTTP (как в режиме SSL Flexible в Cloudflare), а сервер перенаправляет каждый HTTP-запрос на HTTPS. Браузер снова запрашивает HTTPS, CDN снова обращается по HTTP, и так по кругу. Используйте режим Full (strict) или оставьте редирект на HTTPS только на одном уровне.
  • Конфликтующие правила для www: одно правило добавляет www, а другое, часто в CMS или панели хостинга, его убирает.
  • Конфликтующие правила для слеша: сервер добавляет слеш в конце URL, а приложение его удаляет.
  • Настройки адреса в CMS: например, в WordPress Адрес WordPress (URL) или Адрес сайта (URL) не совпадает с доменом или протоколом, на котором сайт реально работает.
  • Редиректы для входа, согласия и выбора региона: страница отправляет посетителей без определенного файла cookie на страницу входа, согласия или выбора страны, а та отправляет их обратно, но cookie так и не устанавливается или не принимается.

Как устранить циклический редирект

  1. Проверьте URL здесь и отметьте, какие URL повторяются и какой переход возвращает вас назад.
  2. Посмотрите на заголовки ответа этого перехода, например Server, Via, CF-Ray или X-Powered-By, чтобы понять, какой уровень отправил редирект: CDN, веб-сервер или приложение.
  3. Исправьте или отключите это правило и проверьте снова. Меняйте по одному уровню за раз.
  4. Перед проверкой в браузере очистите его кэш и cookie для этого сайта. 301 редиректы из кэша и устаревшие cookie могут поддерживать цикл и после того, как его исправили.

Руководства

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

Что означает ERR_TOO_MANY_REDIRECTS?

Так Chrome сообщает о цепочке, которая не закончилась после 20 редиректов. Почти всегда это цикл: правила редиректов на сайте противоречат друг другу. Проверьте URL в поле выше, чтобы увидеть, какие адреса повторяются.

Может ли циклический редирект затрагивать только часть посетителей?

Да. Циклы, которые зависят от cookie, языка, местоположения или устройства, возникают только у посетителей в соответствующей ситуации. Воспроизведите их с помощью дополнительных настроек: добавьте cookie, заголовок Accept-Language или мобильный User-Agent и проверьте снова. Циклы, которые зависят от местоположения посетителя, воспроизвести нельзя, потому что запрос всегда приходит из сети Cloudflare.

Почему очистка cookie устраняет цикл в моем браузере?

Значит, цикл был связан с cookie: устаревший или конфликтующий файл cookie заставлял сайт гонять вас по кругу. Очистка cookie сбрасывает ваше состояние, но ошибка остается для каждого посетителя, который получит такой же cookie. Чтобы воспроизвести ее здесь, используйте поле «Cookie» в дополнительных настройках.

Почему TrueURL находит цикл, хотя в моем браузере страница работает?

Возможно, в браузере вы авторизованы, у вас есть cookie согласия, запись HSTS или редирект в кэше, из-за которых один из переходов пропускается. TrueURL начинает без cookie и истории, как новый посетитель или поисковый робот. Если он находит цикл, то новые посетители и роботы, скорее всего, тоже в него попадают, если только сайт не обрабатывает запросы из дата-центров иначе.

Чем цикл отличается от достижения лимита «Максимум переходов»?

Цикл означает, что TrueURL вернулся к URL, который уже запрашивал в том же состоянии, поэтому цепочка никогда не закончится. Лимит «Максимум переходов» означает, что проверка остановилась после заданного числа редиректов без точного повтора. Такая цепочка, возможно, когда-нибудь и закончилась бы, но столь длинная цепочка — проблема в любом случае. Чтобы заглянуть дальше, увеличьте «Максимум переходов» до 50.

Может ли CDN вызвать циклический редирект?

Да, это одна из самых частых причин. Если CDN обращается к вашему серверу по HTTP, а сервер принудительно перенаправляет на HTTPS, или если CDN и сервер перенаправляют между версиями с www и без www в противоположных направлениях, они перебрасывают каждый запрос туда и обратно. По заголовкам ответа на каждом переходе видно, какой уровень ответил.