Перейти к основному контенту

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

Причина возникновения ошибки

Сайт, на который не установлен сертификат безопасности, работает по незащищённому протоколу HTTP. URL такого сайта выглядит так: http://your_site.ru. Чтобы сайт работал по защищённому соединению, нужно приобрести SSL-сертификат. Подробнее о HTTP читайте в статье Для чего необходим SSL-сертификат.

При установке сертификата ваш сайт становится доступен по безопасному протоколу HTTPS и URL выглядит так: https://your_site.ru. Однако одной покупки и установки SSL-сертификата недостаточно. По умолчанию сайт по-прежнему открывается по протоколу HTTP. Чтобы ваш сайт начал работать по HTTPS, необходимо настроить редирект с HTTP на HTTPS.

Вариантов сделать редирект несколько. Всё зависит от платформы, на которой сделан сайт. Проще всего сделать редирект на WordPress с помощью плагинов. Если сайт самописный, редиректы устанавливают через конфигурационные файлы .htaccess или web.config. Также можно использовать инструмент для добавления редиректа в панели управления хостингом. Все перечисленные способы вы можете найти в разделе Редиректы.

Если редирект был сделан неправильно, у пользователя может возникнуть циклическая переадресация, которая приводит к ошибке. Как это происходит? При настройке редиректа вы задаёте перенаправление http://your_site.ru —> https://your_site.ru. Если при этом в CMS или на сайте задан параметр открывать сайт строго по протоколу http, возникает замкнутый цикл: http://your_site.ru —> https://your_site.ru —>http://your_site.ru —> https://your_site.ru>… Сервер фиксирует слишком большое количество переадресаций и выдаёт ошибку ERR_TOO_MANY_REDIRECTS.

Сайт выполнил переадресацию слишком много раз или ERR TOO MANY REDIRECTS: как исправить

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

ERR TOO MANY REDIRECTS: что делать, если я владелец сайта

  1. Подумайте, какие действия вы делали с сайтом за последнее время. Вернитесь к старой версии сайта, – если ошибка пропала, значит, новые настройки были некорректны.

  2. Проверьте настройки HTTPS. Часто ошибка ERR_TOO_MANY_REDIRECTS появляется при неправильной настройке переадресации HTTP на HTTPS. Правильно ли вы настроили редирект, можно проверить по инструкциям:

  3. Проверьте, не влияют ли на работу сайта плагины. Иногда плагины нарушают работу сервера и могут появляться различные ошибки, в том числе и TOO MANY REDIRECTS 310. Отключите по очереди каждый плагин или переименуйте папку plugins в каталоге файлов вашего сайта на любое другое название. Если сайт заработает, удалите плагин-виновник.

  4. Если у вас кириллический домен, проверьте, как в настройках WordPress указан ваш домен. Кириллические домены хоть и удобны в использовании, однако они не соответствуют UNICODE-системе, поэтому для них создали Punycode. Именно в этой форме нужно добавлять название сайта во все настройки. Чтобы перевести кириллический домен в Punycode, используйте конвертер. Например, ваш сайт дачник.ру. В формате Punycode он будет выглядеть xn--80ahnin3d.xn--p1ag.

  5. Ошибка в конфигурационном файле. Каждая CMS имеет собственный конфигурационный файл, который использует индивидуальные правила для перенаправления. Описать все способы исправления этой ошибки невозможно. Вы можете проверить все добавленные правила переадресации и устранить конфликт, обратившись за помощью к разработчикам сайта или на тематические форумы по используемой CMS. Также вам может помочь замена текущего файла .htaccess на стандартный для используемой вами CMS. Если вы используете WordPress или Joomla, можете добавить некоторые записи в конфигурационные записи по одной из инструкций ниже.

Как исправить ошибку в WordPress

Для исправления ошибки в CMS WordPress hosting добавьте в конфигурационный файл wp-config.php, который размещён в корневой директории вашего сайта, строки:

define('FORCE_SSL_ADMIN', true);

if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') 
$_SERVER['HTTPS']='on';

Для решения этой проблемы на VPS и выделенных серверах добавьте в httpd.conf (конфигурационный файл Apache) строку:

SetEnvIfNoCase X-Forwarded-Proto "https" HTTPS=on

Чтобы изменения вступили в силу, перезапустите веб-сервер Apache.

Как исправить ошибку в Joomla

Для исправления ошибки в CMS Joomla в конфигурационный файл .htaccess после строки RewriteEngine On добавьте:

RewriteCond %{HTTP:X-FORWARDED-PROTO} ^https$
RewriteRule .? - [E=HTTPS:on]
Для успешного исправления ошибки «Сайт выполнил переадресацию слишком много раз» PHP должен работать в режиме FastCGI. Подробнее о режимах работы PHP. На виртуальном хостинге по умолчанию установлен режим PHP FastCGI. На VPS-сервере этот режим также доступен.

Что делать, если я пользователь

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

    Как отключить или удалить расширения в браузере Google Chrome
    1. 1.

      В правом верхнем углу нажмите на три точки. В выпадающем списке нажмите Настройки:

      Как отключить или удалить 
расширения в браузере Google Chrome 1

    2. 2.

      В левом меню нажмите Расширения:

      Как отключить или удалить 
расширения в браузере Google Chrome 2

    3. 3.

      Чтобы отключить расширение, переведите переключатель влево. Если хотите удалить, нажмите Удалить:

      Как отключить или удалить 
расширения в браузере Google Chrome 3

  4. Если вы используете VPN, попробуйте зайти на сайт без него. Некоторые сайты ограничивают вход для зарубежных серверов, через которые могут работать сервисы VPN.
  5. Проверьте дату и время на устройстве. Для HTTPS-соединения важно, чтобы дата и время совпадали (хотя бы примерно) с датой и временем на сервере сайта. Если на устройстве время отстаёт или спешит, могут возникать различные ошибки, в том числе и ошибка переадресации.
  6. Если вы попробовали все вышеописанные решения и ничего не изменилось, но вы уверены, что виноват браузер, возможно, ошибка в самой программе. Удалите и заново установите браузер или сбросьте его до базовых настроек.

Чаще всего проблема на стороне владельца ресурса и пользователь может только подождать, пока разработчики исправят ошибку на сервере.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 2 из 6