Циклическая переадресация WordPress сайта, причины, исправление
От автора
Содержание статьи:
Циклическая переадресация WordPress сайтов хорошо известна, особенно начинающим пользователям. Результатом этой проблемы становится недоступностью сайта или административной панели для просмотра и работы.
Выражается эта проблема «белым экраном WordPress» или различными надписями браузеров типа «This webpage has a redirect loop problem». Официальный код этой ошибки: ERR_TOO_MANY_REDIRECTS.
Циклическая переадресация WordPress: причины
На сайтах WordPress есть две причины появления циклической переадресации:
- Ошибка «пилота»;
- Работа плагина;
- SSL путаница;
- Проблемы на облаках.
Причина №1
Под ошибкой «пилота» я имею в виду неправильно выставленные настройки администратором сайта. И заключаются эти настройки в не правильном заполнении двух полей в общих настройках сайта (вкладка консоли Настройки>>>Общие).
Если ваш сайт работает в корневой папке домена, то поля Адрес WordPress (URL) и Адрес сайта (URL) должны совпадать до буквы.
Напомню: Первый адрес определяет URL доступа к вашему сайту, а второй URL определяет доступ к файлам WordPress. Если CMS установлен в подкаталог, то в поле второго URL вписывается адрес подкаталога.
Подкаталоги оставлю в стороне я ими не пользуюсь, поэтому опишу, как может быть. Данная ситуация более вероятна для возникновения ошибки “ERR_TOO_MANY_REDIRECTS”.
При заполнении полей 1 и 2 на срине выше (Общие настройки) появилась циклическая переадресация. Причин может быть много, вопрос не в причинах. У вас теперь нет доступа к панели сайта, а нужно поменять https на http в общих настройках. Для этого:
- Идёте в phpadmin;
- Ищите таблицу wp_options;
- Открываете её кликом по названию;
- В столбце option_value видите ваш домен с https протоколом, его нужно изменить вручную;
- Жмёте “Изменить” и в таблице в столбце option_value меняете https на http;
- Сохраняетесь и идёте на сайт.
Возникает подобная ошибочная ситуация, когда SSL реализуется отдельно от вашего сервера, например, в облаке. Или вы поторопились или неправильно настроили плагин типа SSL ( о них ниже). Полезно прочесть Русский домен на WordPress, часть 3: безопасный протокол SSL.
Причина №2
Вторая причина, установка плагина, который создаст рассматриваемую циклическую переадресацию WordPress сайта.
Чаще всего проблемы подобного рода создают плагины из группы «Redirect» и плагины вносящие свои правила в файл .htaccess сайта.
Напомню, файл .htaccess
(точка вначале), создается из файла htaccess.txt
коробочной версии WordPress путём простого переименования. Нужен этот файл для ручного управления работой веб-сервера Apache вашего сервера.
.htaccess
файл полезный, но требует знаний и аккуратной правки. Некоторые плагины дописывают в этот файл свои правила. Чаще они это делают с предупреждением администратору при настройке плагина.
Например, в прошлой статье я писал о плагине Really Simple SSL, где есть возможность включить настройку «htaccess redirect». Это создаст самую быструю переадресацию сайта при переходе на протокол HTTPS
. Однако настройки вашего сервера могут при таком включении создать циклическую переадресацию WordPress.
Еще пример. Все плагины безопасности WordPress дописывают в файл .htaccess
. Но не все плагины их оттуда выписывают, после своего удаления. Наслоение правил может привести к циклической переадресации.
Для исправления этой причины ошибки, достаточно сначала отключить проблемный плагин. Если непонятно, какой плагин создает проблему, отключать их по одному. Если потеряли вход в административную панель, отключать плагины по FTP, меняя их название (например, добавляя цифру к названию).
Найдя проблемный плагин, откройте в текстовом редакторе файл .htaccess
и удалите запись сделанную проблемным плагином. Найти запись легко, она будет в закомментированных строках с названием плагина. Например, так #BEGIN ReallySimpleSSL …тут запись… #END.
Удалять плагин необязательно, нужно просто исправить свою неправильно выставленную настройку.
Причина №3: SSL путаница
Очень часто при переходе на безопасный проток HTTPS после приобретения сертификата приходит циклическая переадресация WordPress.
Здесь проблема в первоочерёдности. Сначала нужно подключить SSL сертификат на вашем сервере, а потом переводить сайт на безопасный проток HTTPS и делать переадресацию HTTP на HTTPS.
И только поле завершения работ на сервере, переходить на сайт и ставить плагины группы SSL, исправляющие смешанный контент сайта. Об этом в статьях:
- Как самостоятельно установить SSL сертификат на хостинг: бесплатный SSL сертификат на хостинг c ISP панелью
- Как получить бесплатный сертификат SSL: центр сертификации StartSSL (StartCom
- Оптимизация сайта после SSL сертификации: как вернуть потерянный трафик и ТИЦ
- Как поменять абсолютные ссылки WordPress на относительные: SSL сертификация
- Перевод сайта WordPress на HTTPS: инструкция технического перехода
Причина №4: Облака
Если вы используете облачные сервера, то при переходе на SSL на сервере, нужно изменить настройки в облачном сервисе. Например, на Cloudflare можно попробовать в настройке SSL Flexible SSL поменять на Full SSL или наоборот.
Причина №5: КЭШ
Появление читаемой ошибки циклической переадресации в браузере, может быть исправлено, простой чисткой кэша браузера.
Вывод
В этой статье я показал, что такое циклическая переадресация WordPress, как исправить циклическую переадресацию WordPress сайта. Как правило, причина подобной ошибки лежит на поверхности и связана она с вашими последними действиями на сайте или вашем сервере. Как раз сегодня, 25-11-2019 я исправлял эту ошибку по варианту №1, руками в phpadmin.
Источник: www.wordpress-abc.ru