Что значит циклическое перенаправление на странице
Циклическая переадресация
Перенаправление применяется программистами с целью увеличения скорости загрузки web-документов (страниц сайтов), а также в том случае, если имеется необходимость перенаправить пользователей с одного домена на другой, например, когда сайт поменял доменное имя. Однако в случае возникновения различных неполадок использование данного приема может приводить к ошибкам переадресации.
Циклическая переадресация по своей сути является бесконечным перенаправлением страницы на свой собственный адрес или же перенаправлением на адрес, который в тем или иным образом приводит на одну и ту же страницу. Как правило, с такой ошибкой сталкиваются пользователи браузера Google Chrome, но и в других браузерах она возникает нередко. В случае возникновения такой ситуации многие пользователи склонны полагать, что им закрыли доступ к сайту или же он потерял работоспособность. Однако на самом деле имеют место совершенно иные причины.
Среди основных причин ошибки «На этой странице обнаружена циклическая переадресация» стоит выделить:
Как исправить ошибку
Метод исправления ошибки «На этой странице обнаружена циклическая переадресация» напрямую зависит от ее причины. При этом если имеют место быть неполадки со стороны сервера web-сайта, то пользователю ничего не остается делать, как ждать, когда его администрация исправит имеющиеся ошибки. В остальных случаях необходимо:
Кроме того, иногда причинами циклической переадресации могут быть установленные в браузер дополнения и плагины, а также вирусы, что также необходимо иметь в виду в том случае, если другие причины возникновения ошибки полностью исключены.
Циклическая переадресация WordPress сайта, причины, исправление
От автора
Циклическая переадресация WordPress сайтов хорошо известна, особенно начинающим пользователям. Результатом этой проблемы становится недоступностью сайта или административной панели для просмотра и работы.
Выражается эта проблема «белым экраном WordPress» или различными надписями браузеров типа «This webpage has a redirect loop problem». Официальный код этой ошибки: ERR_TOO_MANY_REDIRECTS.
Циклическая переадресация WordPress: причины
На сайтах WordPress есть две причины появления циклической переадресации:
Причина №1
Под ошибкой «пилота» я имею в виду неправильно выставленные настройки администратором сайта. И заключаются эти настройки в не правильном заполнении двух полей в общих настройках сайта (вкладка консоли Настройки>>>Общие).
Если ваш сайт работает в корневой папке домена, то поля Адрес WordPress (URL) и Адрес сайта (URL) должны совпадать до буквы.
Напомню: Первый адрес определяет URL доступа к вашему сайту, а второй URL определяет доступ к файлам WordPress. Если CMS установлен в подкаталог, то в поле второго URL вписывается адрес подкаталога.
Подкаталоги оставлю в стороне я ими не пользуюсь, поэтому опишу, как может быть. Данная ситуация более вероятна для возникновения ошибки “ERR_TOO_MANY_REDIRECTS”.
При заполнении полей 1 и 2 на срине выше (Общие настройки) появилась циклическая переадресация. Причин может быть много, вопрос не в причинах. У вас теперь нет доступа к панели сайта, а нужно поменять https на http в общих настройках. Для этого:
Возникает подобная ошибочная ситуация, когда SSL реализуется отдельно от вашего сервера, например, в облаке. Или вы поторопились или неправильно настроили плагин типа SSL ( о них ниже). Полезно прочесть Русский домен на WordPress, часть 3: безопасный протокол SSL.
Причина №2
Вторая причина, установка плагина, который создаст рассматриваемую циклическую переадресацию WordPress сайта.
.htaccess файл полезный, но требует знаний и аккуратной правки. Некоторые плагины дописывают в этот файл свои правила. Чаще они это делают с предупреждением администратору при настройке плагина.
Для исправления этой причины ошибки, достаточно сначала отключить проблемный плагин. Если непонятно, какой плагин создает проблему, отключать их по одному. Если потеряли вход в административную панель, отключать плагины по FTP, меняя их название (например, добавляя цифру к названию).
Удалять плагин необязательно, нужно просто исправить свою неправильно выставленную настройку.
Причина №3: SSL путаница
Очень часто при переходе на безопасный проток HTTPS после приобретения сертификата приходит циклическая переадресация WordPress.
Здесь проблема в первоочерёдности. Сначала нужно подключить SSL сертификат на вашем сервере, а потом переводить сайт на безопасный проток HTTPS и делать переадресацию HTTP на HTTPS.
И только поле завершения работ на сервере, переходить на сайт и ставить плагины группы SSL, исправляющие смешанный контент сайта. Об этом в статьях:
Причина №4: Облака
Если вы используете облачные сервера, то при переходе на SSL на сервере, нужно изменить настройки в облачном сервисе. Например, на Cloudflare можно попробовать в настройке SSL Flexible SSL поменять на Full SSL или наоборот.
Причина №5: КЭШ
Появление читаемой ошибки циклической переадресации в браузере, может быть исправлено, простой чисткой кэша браузера.
Вывод
В этой статье я показал, что такое циклическая переадресация WordPress, как исправить циклическую переадресацию WordPress сайта. Как правило, причина подобной ошибки лежит на поверхности и связана она с вашими последними действиями на сайте или вашем сервере. Как раз сегодня, 25-11-2019 я исправлял эту ошибку по варианту №1, руками в phpadmin.
Как исправить ошибку Слишком много перенаправлений в браузере
Если вы видите ошибку Слишком много перенаправлений (ERR_TOO_MANY_REDIRECTS) в своем веб-браузере, значит что-то пошло не так. Также эта ошибка сопровождается сообщением Эта веб-страница имеет цикл перенаправления (This webpage has a redirect loop) и она блокирует загрузку сайта.
Ошибка Слишком много перенаправлений означает, что сайт продолжает циклично перенаправляться между разными адресами и это может никогда не прекратиться. Ваш браузер защищает вас от этого, разрешая только определенное количество перенаправлений (часто около десяти), прежде чем он «устанет» от этого и не выдаст данную ошибку.
Ошибка о цикличных перенаправлениях по-разному проявляется в разных браузерах:
Эта страница не работает (This page isn’t working)
перенаправил вас слишком много раз. ( redirected you too many times. )
Или
Эта веб-страница имеет цикл перенаправления (This webpage has a redirect loop)
Попробуйте очистить ваши куки. (Try clearing your cookies.)
ERR_TOO_MANY_REDIRECTS
Google Chrome
Страница не перенаправляет должным образом (The page isn’t redirecting properly).
Произошла ошибка при подключении к. Эта проблема иногда может быть вызвана отключением или отказом принимать куки. (An error occured during a connection to . This problem can sometimes be caused by disabling or refusing to accept cookies. )
Mozilla Firefox
Safari не может открыть страницу (Safari Can’t Open the Page).
При попытке открытьпроизошло слишком много перенаправлений. Это может произойти, если вы открываете страницу, которая перенаправляется на другую страницу, которая затем перенаправляется на исходную страницу. (Too many redirects occurred trying to open . This might occur if you open a page that is redirected to open another page which is then redirected to open the original page.)
Safari
Очень часто это является результатом конфликтных перенаправлений, одно из которых пытается принудительно установить HTTPS (SSL) соединение, а другое – обратно HTTP (не-SSL), или между URL-адресами с www и без www.
Как определить причину цикличного перенаправления
Вы можете следить за всеми перенаправлениями с помощью инструментов разработчика в браузере Firefox или Chrome. Эти инструменты обычно открываются нажатием клавиши F12 (или Ctrl+Shift+I ). Откройте Сеть (Network), а затем перезагрузите страницу, на которой у вас возникла проблема.
После перезагрузки страницы вы увидите список перенаправлений. Проанализировав результаты, вы сможете найти «виновника» (если срабатывает перенаправление на одну и ту же страницу).
Основные типы перенаправления (код ответа состояния HTTP):
Как исправить ошибку перенаправлений (редиректов)
Шаг №1: Очистить кэш и куки браузера
После очистки данных браузера вы можете попробовать зайти на сайт и посмотреть, исчезла ли ошибка.
Шаг №2: Попробовать в других браузерах
Ошибка ERR_TOO_MANY_REDIRECTS может возникать только в браузере, который вы используете. Вы можете попробовать открыть тот же URL в другом браузере. Если ошибка не устраняется, значит проблема может возникать на стороне сервера.
Правильные настройки редиректов (перенаправлений)
Принудительный HTTPS
Приведенный ниже код сначала проверяет, поступил ли запрос на сервер с использованием HTTP или HTTPS. Если в запросе не использовался HTTPS, то конфигурация скажет браузеру перенаправить на HTTPS-версию того же веб-сайта и URL-адреса, которые были запрошены ранее:
Принудительный HTTPS при использовании прокси-сервера
Вы можете использовать прокси-сервер, например, балансировщик нагрузки или веб-брандмауэр, для которого можно настроить использование SSL (HTTPS) на внешнем интерфейсе, но не на внутреннем. Чтобы это работало правильно, вам нужно проверять не только HTTPS в запросе, но и проверять, передал ли прокси-сервер исходный HTTPS-запрос на сервер, используя только HTTP. Код ниже проверяет, был ли запрос перенаправлен с HTTPS, и, если это так, не пытается дополнительно его перенаправлять:
Перенаправление с HTTP на HTTPS в Nginx
Если на вашем веб-сервере работает Nginx, вы можете легко перенаправить весь ваш HTTP-трафик на HTTPS, добавив следующий код в файл конфигурации Nginx:
Замените domain.com на свой домен.
Принудительно без www
Принудительно с www
Краткий итог
Почему происходит циклическая переадресация и как это исправить?
После того, как Вы установили SSL-сертификат на Ваш сайт, мы по умолчанию переводим его на протокол HTTPS, чтобы обеспечить безопасное соединение для всех Ваших посетителей.
Однако иногда применение HTTPS может вызвать ошибку ERR_TOO_MANY_REDIRECTS, или циклическую переадресацию. Причиной проблемы могут быть уже существующие похожие или конфликтующие редиректы. Например, у Вас есть редирект с HTTP на HTTPS, а сразу после него — переадресация с HTTPS на HTTP. Это создаст петлю. Эта статья поможет Вам решить проблему ERR_TOO_MANY_REDIRECTS, вызванную новой установкой SSL 😊
Наиболее частые причины возникновения циклической переадресации:
Ещё один вариант — проверить раздел перенаправлений в панели управления hPanel, так как некоторые редиректы могут быть созданы там.
Если Вы используете Cloudflare, причиной может быть неправильный тип связи SSL или отключенная опция Universal SSL.
Если Вы используете Cloudflare через Hostinger, откройте Хостинг → Управлять → Cloudflare:
И убедитесь, что для опции SSL / Тип шифрования связи выбран вариант Полный:
Если Вы используете Cloudflare напрямую, необходимое значение можно найти на странице SSL/TLS как SSL/TLS encryption mode.
Чтобы проверить включён ли Universal SSL, обязательно войдите в свою панель управления Cloudflare (если у Вас есть Cloudflare от Hostinger, используйте адрес электронной почты своего профиля и выберите опцию «Забыли пароль?»). Universal SSL находится на вкладке SSL/TLS → Edge Certificates:
Вы должны увидеть такое сообщение:
Если Ваш сайт создан на WordPress, циклическая переадресация может возникнуть из-за неправильных URL-адресов в базе данных. Чтобы проверить это, откройте базу данных Вашего сайта через phpMyAdmin и перейдите к таблице wp-options:
Там проверьте значения siteurl и home, они должны быть с https:// впереди:
Если вместо этого Вы видите префиксы http, измените их на https:// и Ваш сайт заработает правильно.
На этой странице обнаружена циклическая переадресация
Циклической переадресацией называют ситуацию, когда редиректы ссылаются друг на друга образуя замкнутый цикл. Например, URL1 указывает на URL2, а URL2 снова на URL1. Когда браузер сталкивается с циклической переадресацией возникает ошибка. При этом каждый браузер может сообщать об этой ошибке по разному. Ниже приведены примеры сообщений об ошибке в разных браузерах:
Обратите внимание! Для того, чтобы убедиться, что проблема с циклической переадресацией актуальна откройте сайт без использование cookies. Для этого нужно перейти в режим инкогнито. Если ошибка переадресации исчезнет, значит достаточно удалить файлы cookies и очистить кеш вашего браузера.
Диагностика проблемы
Как правило, проблема переадресаций возникает, когда вы добавляете на сайт 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:
Подробнее ознакомиться с информацией о настройках переадресации на хостинге можно в статье [Редирект с http на https для Linux] (ссылка будет позднее).
Для CMS WordPress можно задать «принудительную» переадресацию запросов на https на уровне wp-config.php (файл будет находиться в корневом каталоге вашего сайта). Для настройки переадресации вставьте в файл строки, указанные ниже:
Примечание: подробнее о режимах работы PHP можно почитать в статье [Как сменить версию PHP?] (ссылка будет тут позднее)