хостинг и домены
Регистрация

На этой странице обнаружена циклическая переадресация

Циклической переадресацией называют ситуацию, когда редиректы ссылаются друг на друга образуя замкнутый цикл. Например, URL1 указывает на URL2, а URL2 снова на URL1. Когда браузер сталкивается с циклической переадресацией возникает ошибка. При этом каждый браузер может сообщать об этой ошибке по разному. Ниже приведены примеры сообщений об ошибке в разных браузерах:

  • Google Chrome: «This webpage has a redirect loop problem» или «ERR_TOO_MANY_REDIRECTS».
  • Mozilla Firefox: «The page isn’t redirecting properly».
  • Safari: «Could not open the page, too many redirects».
  • Microsoft Edge: «Hmmm… can’t reach this page».

Обратите внимание! Для того, чтобы убедиться, что проблема с циклической переадресацией актуальна откройте сайт без использование cookies. Для этого нужно перейти в режим инкогнито. Если ошибка переадресации исчезнет, значит достаточно удалить файлы cookies и очистить кеш вашего браузера.

Диагностика проблемы

Проблема циклической переадресации возникает в результате логического конфликта настроек редиректов. Задать переадресацию можно совершенно в разных настройках и конфигурационных файлах сайта (через панель управления хостингом, в .htaccess, на уровне PHP, в CMS и т.д.). В результате может получиться замкнутая цепь переадресаций.

Как правило, проблема переадресаций возникает, когда вы добавляете на сайт SSL-сертификат, новый плагин или обновление CMS. В этом случае диагностика проблемы сводится к тому, чтобы отключить новый сервис и проверить URL, по которому возникла циклическая переадресация.

Примечание: Если вы используете CMS, то предварительно следует очистить кеш в CMS (см. соответствующие инструкции в справочном центре разработчика CMS).

Для анализа переадресаций также можно воспользоваться браузерными расширениями или другими сторонними сервисами, которые выполнят анализ переадресаций по URL. Подобрать расширение можно в маркете от браузера (например, Link Redirect Trace для Chrome).

Причин возникновения замкнутых редиректов может быть много, тем не менее, чаще всего циклическая переадресация возникает при переходе с http на https.

Циклической переадресация на http при переходе на https

Для того, чтобы сайт работал по защищенному протоколу https необходимо перенаправить все запросы по http на https. Если настройка переадресации на https выполнена некорректно может возникнуть замкнутая цепь перенаправлений, где запросы по https снова возвращаются на http (http>https>http).

Обратите внимание! Настройку переадресаций на https НЕ стоит выполнять ранее подключения SSL-сертификата. Как правило, установка SSL-сертификата включает настройку перенаправлений на https.

Решение проблемы циклической переадресации на http

Для решения проблемы проверьте настройки переадресации на http:

  • В панели управления хостингом
  • В файле .htaccess
  • В настройках и плагинах CMS

Подробнее ознакомиться с информацией о настройках переадресации на хостинге можно в статье [Редирект с http на https для Linux] (ссылка будет позднее).

Для CMS WordPress можно задать «принудительную» переадресацию запросов на https на уровне wp-config.php (файл будет находиться в корневом каталоге вашего сайта). Для настройки переадресации вставьте в файл строки, указанные ниже:

define(‘FORCE_SSL_ADMIN’, true); if ($_SERVER[‘HTTP_X_FORWARDED_PROTO’] == ‘https’) $_SERVER[‘HTTPS’]=’on’;

Если ваш сайт работает под веб-сервером Apache (выбран режим PHP под Apache), то можно перенаправить весь трафик на https на уровне .htaccess. Для настройки переадресации вставьте в файл строки, указанные ниже:

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

Примечание: подробнее о режимах работы PHP можно почитать в статье [Как сменить версию PHP?] (ссылка будет тут позднее)

Заключение

В определенных ситуациях проблему циклической переадресации можно решить только путем возврата к базовым настройкам редиректов. С файлами настроек .htaccess для различных CMS можно ознакомиться в статье [Файлы .htaccess для популярных CMS] (ссылка будет позднее).