Ошибка «Сайт выполнил переадресацию слишком много раз»
- Причины ошибки «Сайт выполнил переадресацию слишком много раз»
- Как исправить ошибку «Сайт выполнил переадресацию слишком много раз»
Причины ошибки «Сайт выполнил переадресацию слишком много раз»
Чаще всего эта ошибка возникает из-за проблем при перенаправлении с HTTP на HTTPS.
Сайты, которые используют незащищенное соединение, работают по протоколу HTTP:
Чтобы сайт открывался по защищенному соединению HTTPS, нужно приобрести и установить SSL-сертификат. Далее понадобится настройка редиректа с HTTP на HTTPS. Он настраивается в панели управления или в конфигурационных файлах .htaccess и web.config, а также требуются действия в CMS (если сайт сделан с её помощью). На этом этапе можно допустить ошибки, которые приведут к проблемам с переадресацией.
Например, у пользователя сайт http://site.ru. Он приобрел SSL-сертификат и сделал редирект в конфигурационном файле. Теперь его сайт должен работать по адресу https://site.ru. При этом в CMS так и остались настройки, в соответствии с которыми сайт должен открываться по протоколу HTTP. Таким образом, сначала система, исходя из настроек .htaccess или web.config, переадресует браузер на HTTPS, потом по параметрам CMS снова переадресует на HTTP и затем система снова возвращается к настройкам конфигурационного файла и так по кругу. Образуется циклическая переадресация http://site.ru ―> https://site.ru ―> http://site.ru ―> https://site.ru... Так появляется ошибка ERR_TOO_MANY_REDIRECTS.
Как исправить ошибку «Сайт выполнил переадресацию слишком много раз»
Обратите внимание! Чтобы ошибка «Сайт выполнил переадресацию слишком много раз» была исправлена, PHP должен работать в режиме FastCGI. На виртуальном хостинге PHP FastCGI установлен по умолчанию. На VPS этот режим также доступен к использованию.
WordPress
Если сайт сделан в CMS WordPress, добавьте в конфигурационный файл wp-config.php строки:
define('FORCE_SSL_ADMIN', true);
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS']='on';
Joomla
Если сайт сделан в CMS Joomla, для исправления ошибки в конфигурационный файл .htaccess после строки RewriteEngine On добавьте:
RewriteCond %{HTTP:X-FORWARDED-PROTO} ^https$
RewriteRule .? - [E=HTTPS:on]
VPS или выделенный сервер
Если сайт размещен на VPS или выделенном сервере, можно добавить в конфигурационный файл Apache httpd.conf строку:
SetEnvIfNoCase X-Forwarded-Proto "https" HTTPS=on
Перезапустите веб-сервер Apache, чтобы изменения вступили в силу.