• Циклическая переадресация WordPress - решение проблемы. Циклическая переадресация Что значит ошибка ERR_TOO_MANY_REDIRECTS

    28.09.2020

    Данная ошибка свидетельствует о бесконечной циклической переадресации. Одна из самых распространенных причин возникновения циклического редиректа — конфликт перенаправления с http на https и настроек CMS .

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

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

    Редиректы устанавливают через конфигурационные файлы .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 .

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

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

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

    Для исправления ошибки в CMS добавьте в конфигурационный файл 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 добавьте.

    За время работы над сайтами, а это уже 10 лет, возникало много различных проблем, но с циклической переадресацией столкнулся впервые. Собственно говоря, проблема возникла не у меня, а у моего двоюродного брата. При попытке войти в панель управления WordPress, возникало следующее сообщение:

    На странице обнаружена циклическая переадресация
    Загрузка веб-страницы по адресу http://сайт.ru/wp-login.php вызвала слишком много переадресаций. Попробуйте очистить для этого сервера файлы cookie или разрешить их прием от независимых сайтов. Если это не поможет, возможно, проблема связана не с вашим компьютером, а с конфигурацией сервера.

    Сообщение в Яндекс.Браузерe (сообщение с аналогичным заголовком отображается и в Google Chrome)
    Сообщение в браузере Opera

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

    Зашел в панель управления сайтом (cPanel), заглянул в файл.htaccess в корневом каталоге, но ничего подозрительного не обнаружил. Содержание.htaccess соответствовало тому, которое формируют движок WordPress при использовании ЧПУ.

    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    # END WordPress

    Как бы то ни было, просмотр состоянии сети в браузере показал, что идет многократный 302-й редирект.


    И вот только тут я приметил слона - в корневом каталоге сайта отсутствовал файл wp-login.php... Попытался сообразить, каким образом испарился файл, но ничего умного в голову не пришло, кроме версии с вирусам, так как ранее возникали проблемы именно по этой причине (на ноутбуке брата был установлен антивирус FREE Avast и сайт был заражен именно с локального компьютера).

    Если вы не являетесь большим искателем "приключений", откажитесь от использования бесплатных антивирусов типа Avast. Используйте платные антивирусы типа Kaspersky Internet Security и Dr.Web Security Space.

    Если проблема связана с , то всегда лучше снести всё до основания и установить заново. Пока же решил обновить "вручную" WordPreess - распаковал файлы движка в отдельную папку на хостинге, а затем скопировал файлы в корневой каталог. При этом папки с темами, плагинами и изображения остались в целости и сохранности.

    Теоретически, можно было загрузить только файл wp-login.php, однако файл должен соответствовать установленной версии WordPress. Проще обновить все файлы CMS.

    После обновления файлов движка, проблема с циклической переадресацией была решена.


    Проблема с редиректами решена

    Был погожий теплый апрельский денёк. Я настраивал защищённое соединение на очередном клиентском Wordpress-сайте: заказал сертификат от Let"s Encrypt , отредактировал конфиг Nginx, сменил настройки Адрес WordPress (URL) и Адрес сайта (URL) :

    Всё шло своим чередом, и ничего не предвещало беды:) Перезагружаю страницу, и тут бац!

    Что значит ошибка ERR_TOO_MANY_REDIRECTS?

    Для тех, кто в школе учил немецкий, дословный перевод звучит примерно так: "ошбк_слишком_много_переадресаций". Это значит, что при загрузке страницы браузером сервер отвечает кодом переадресации (301,302 или 307), браузер пытается получить новую страницу, опять получает код редиректа, опять пытается получить и так далее по кругу до тех пор, пока у него не лопнет терпение и не выдаст ошибку.

    Такая ситуация не зависит от конкретного браузера. И Chrome, и Яндекс браузер, и Firefox будут выдавать один и тот же код. Хотя сообщение может немного отличаться. Огнелис, например, советует удалить файлы cookie. Забегая вперёд скажу, что это сейчас не поможет:)

    Как появилась циклическая переадресация на Wordpress?

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

    Оказалось дело в том, что на сервере использовалась связка Nginx+Apache. Nginx принимал запрос и передавал его Apache по 81 порту. Соответственно, Apache был не в курсе, что используется какое-то защищённое соединение.

    Как исправить ERR_TOO_MANY_REDIRECTS для Wordpress+Nginx+Apache?

    Да просто!

    Добавить в.htaccess

    SetEnv HTTPS "on" SetEnv HTTP_X_FORWARDED_PROTO "https"

    Теперь Apache всегда будет определять текущую версию сайта как https, и Wordpress не будет никуда переадресовывать.

    Циклическая переадресация WordPress сайтов хорошо известна, особенно начинающим пользователям. Результатом этой проблемы становится недоступностью сайта или административной панели для просмотра и работы.

    Причина №2

    Вторая причина, установка плагина, который создаст рассматриваемую циклическую переадресацию WordPress сайта.

    Чаще всего проблемы подобного рода создают плагины из группы «Redirect» и плагины вносящие свои правила в файл.htaccess сайта.

    Напомню, файл.htaccess (точка вначале), создается из файла htaccess.txt коробочной версии WordPress путём простого переименования. Нужен этот файл для ручного управления работой веб-сервера Apache вашего сервера.

    Htaccess файл полезный, но требует знаний и аккуратной правки. Некоторые плагины дописывают в этот файл свои правила. Чаще они это делают с предупреждением администратору при настройке плагина.

    Например, в прошлой статье я писал , где есть возможность включить настройку «htaccess redirect». Это создаст самую быструю переадресацию сайта при переходе на протокол HTTPS . Однако настройки вашего сервера могут при таком включении создать циклическую переадресацию WordPress.

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

    Для исправления этой причины ошибки, достаточно сначала отключить проблемный плагин. Если непонятно, какой плагин создает проблему, отключать их по одному. Если потеряли вход в административную панель, отключать плагины по FTP, меняя их название (например, добавляя цифру к названию).

    Найдя проблемный плагин, откройте в текстовом редакторе файл.htaccess и удалите запись сделанную проблемным плагином. Найти запись легко, она будет в закомментированных строках с названием плагина. Например, так #BEGIN ReallySimpleSSL …тут запись… #END .

    Удалять плагин необязательно, нужно просто исправить свою неправильно выставленную настройку.

    Причина №3: SSL путаница

    Очень часто при переходе на безопасный проток HTTPS после приобретения сертификата приходит циклическая переадресация WordPress.

    Здесь проблема в первоочерёдности. Сначала нужно подключить SSL сертификат на вашем сервере, а потом переводить сайт на безопасный проток HTTPS и делать переадресацию HTTP на HTTPS.

    И только поле завершения работ на сервере, переходить на сайт и ставить плагины группы SSL, исправляющие смешанный контент сайта. Об этом в статьях:

    Причина №4: Облака

    Если вы используете облачные сервера, то при переходе на SSL на сервере, нужно изменить настройки в облачном сервисе. Например, на можно попробовать в настройке SSL Flexible SSL поменять на Full SSL или наоборот.

    Причина №5: КЭШ

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

    Вывод

    В этой статье я показал, что такое циклическая переадресация WordPress, как исправить циклическую переадресацию WordPress сайта. Как правило, причина подобной ошибки лежит на поверхности и связана она с вашими последними действиями на сайте или вашем сервере. Как раз сегодня, 25-11-2019 я исправлял эту ошибку по варианту №1, руками в phpadmin.

    Запуская сайт на платном хостинге, вы приобретаете множество преимуществ. Однако и здесь время от времени возникают незначительные ошибки, которые могут выбить из колеи новичков, как например: белый экран смерти, внутренняя ошибка сервера и другие .

    Недавно один из моих подписчиков попросил разобраться с такой довольно часто встречаемой ошибкой, как циклические . В этой статье я постараюсь подробно объяснить, как исправить эту ошибку.

    В браузере Firefox сообщение об этой ошибке будет выглядеть следующим образом:

    Что переводится как: «Страница не была перенаправлена должным образом. Firefox обнаружил, что сервер перенаправляет запрос на этот адрес нескончаемое количество раз».

    Обычно эта ошибка возникает из-за неправильной конфигурации перенаправления. Как вы знаете у WordPress , которая использует функцию редиректа; также ее используют и некоторые другие популярные плагины (плагины кэширования, SSL плагин и т.д.). Например, позволяет удалить родительскую категорию из урлов.

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

    Как исправить ошибку циклического редиректа в WordPress?

    Самой частой причиной возникновения данной ошибки является неправильно прописанный урл в «Адрес WordPress (URL )» или в «Адрес сайта (URL .

    Допустим урл вашего сайта http://www.example.com а в Настройки » Общие вы прописали http://example.com.

    Вообще-то, большинство хостингов предлагает на выбор использовать или не использовать префикс «www» перед названием домена. Если вы в свое время выбрали использовать, то прописав урл как http://example.com, возникнет ошибка. Или совсем наоборот: вы выбрали не использовать, а в настройках прописали урл с www. Вот и получится, что заходя на http://example.com, пользователь будет перенаправлен на http://www.example.com, где его опять же сервер перекинет на http://example.com, т.е. возникнет ошибка циклического редиректа.

    Если же у вас нет претензий к работе сайта, и вы ничего не меняли в настройках, но существует проблема постоянного перенаправления, то обратитесь за помощью к своему хостингу. Вероятнее всего проблема вызвана из-за неполадок с их стороны.

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

    Чтобы исправить ошибку циклического доступа, поменяйте урл в «Адрес WordPress» и в «Адрес сайта». Если в адресе вашего сайта используется префикс www, то уберите его из урла и наоборот.

    Важно : убедитесь, что вы не пропустили знак «/» в конце урла, как например в http://www.example.com/

    Как изменить урл сайта без доступа к админке

    Даже без доступа к панели администрирования вы можете изменить урлы через файл wp-config.php. Для этого зайдите на сайт, используя , в корневом каталоге найдите файл wp-config.php. Скачайте и отредактируйте файл в каком-нибудь текстовом редакторе, например в Блокноте. Просто добавьте вот эти две строки кода и не забудьте заменить example.com на имя своего домена.

    define("WP_HOME","http://example.com"); define("WP_SITEURL","http://example.com");

    define ("WP_HOME" , "http://example.com" ) ;

    define ("WP_SITEURL" , "http://example.com" ) ;

    Сохраните файл и перезалейте его на сервер. Теперь попробуйте зайти на сайт. Если вы до сих пор не можете на него попасть, то добавьте к домену префикс www.

    Другие способы решения проблемы циклического редиректа

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

    Итак, первое, что вам необходимо сделать, это найти плагин, вызывающий ошибку. Возможно, вы недавно загрузили какой-то плагин, и возникла ошибка циклического редиректа? Или вы на днях обновили какой-то плагин? Если вы ответили «да», то это сужает область поиска.

    Вы можете деактивировать плагин, вызывающий проблему, удалив его из папки wp-content/plugins/.

    Если вы так и не знаете, какой плагин вызвал проблему, то придется его определять методом проб. Самый быстрый способ – это .

    Зайдите на сайт через FTP клиент и скачайте файл.htaccess в качестве резервной копии. Данный файл находится в корневой папке. Как только вы скачаете этот файл на свой ПК, удалите его с сервера и попробуйте зайти на сайт.

    Эти действия приведут к тому, что сервер заново сгенерирует . При этом все плагины будут деактивированы. Проблема должна исчезнуть. Если это так, то вы теперь наверняка знаете, что проблема вызвана каким-то плагином. Осталось теперь выяснить, каким именно.

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

    Вот это все возможные решения в борьбе с постоянными перенаправлениями на сайте. Если вам помог какой-либо из этих методов, то, пожалуйста, напишите об этом в комментариях к статье. Или, возможно, вы сталкивались с этой проблемой раньше и у вас есть свои методы борьбы с нею? Тогда тем более поделитесь своим опытом. Я все внимательно прочту, проверю и если есть еще какие-то действенные решения, то обязательно включу их в статью.

    Похожие статьи