Решение ошибки «load cannot follow 20 redirections»

Однажды я редактировал много файлов .htaccess и заметил что одна страница перестала открываться, а в логах было сообщение:

load cannot follow 20 redirections

Я сразу проверил файл .htaccess, приведу пример записей которые там были:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^support\.ixnfo\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.support\.ixnfo\.com$
RewriteRule ^/?$ "https\:\/\/ixnfo\.com\/support" [R=301,L]
#RewriteCond %{HTTP_HOST} ^support\.ixnfo2\.com$ [OR]
#RewriteCond %{HTTP_HOST} ^www\.support\.ixnfo2\.com$
RewriteRule ^/?$ "https\:\/\/ixnfo\.com\/support" [R=301,L]

Как видим на примере, выполняется переадресация доменов support.ixnfo.com и www.support.ixnfo.com на https://ixnfo.com/support, а для support.ixnfo2.com и www.support.ixnfo2.com я закомментировал правила, но забыл закомментировать последнюю строку в результате чего получились повторяющиеся переадресации.
После того как я закомментировал последнюю строку ошибка исчезла.

Подобная ошибка также может возникать когда много переадресаций указано в конфигурации веб сервера Apache2, nginx и т.д., а также стоит учесть что переадресации могут выполнятся веб скриптами, например тот же WordPress переадресовывает на главную страницу сайта которая указана в админ панели, то есть если в админ панели WordPress указан адрес сайта без www, а в .htaccess или конфигурации веб сервера вы указали переадресацию основного домена на поддомен www, то получится циклическая переадресация и страница не откроется.

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

ERR_TOO_MANY_REDIRECTS

Смотрите также мои статьи:
Использование .htaccess
Перенаправление запросов на SSL
Редирект HTTP на HTTPS в Nginx

Оставьте комментарий

Добавить комментарий