"Too many redirects" ТОЛЬКО при попытке доступа к странице wp-admin
Я решил задать свой вопрос, поскольку на похожие дублирующие вопросы до сих пор нет ответа.
По какой-то причине после свежей установки WordPress 4.9.1 на моем Ubuntu VPS, включения "гибкого" SSL от Cloudflare и последующего изменения URL в WordPress (с "https://foo.com" на "https://foo.com") я больше не могу получить доступ к панели администратора.
Попытка исправления #1: Очистка куков браузера(ов), кэша и сохраненных данных, а также любых кэшей Cloudflare.
Попытка исправления #2:
Модификация wp-config.php
следующим кодом:
define('WP_HOME' , 'https://foo.com');
define('WP_SITEURL' , 'https://foo.com');
Попытка исправления #3: Отключение файла .htaccess
в директории /var/www/html/
Ничего из вышеперечисленного не сработало, и к сожалению, я по-прежнему не могу получить доступ к панели администратора. Однако стандартная главная страница wordpress загружается нормально с правильным защищенным URL "https".
Я нашел решение, которое устранило мою проблему.
Источники:
A.) https://sharpten.com/blog/2018/01/17/wordpress-stuck-many-redirects-error-loop-using-ssl.html
B.) (Подраздел внутри A) https://wordpress.org/support/article/administration-over-ssl/
Выдержка:
Добавление следующих строк кода в конец файла wp-config.php
разрешило конфликт с редиректами.
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';


Если кто-то еще наткнется на это - эти две строки сработали у меня, но только если я поместил их в начало файла wp-config.php
.

Если вышеперечисленное не помогло, вы можете попробовать добавить следующую строку выше:
define('FORCE_SSL_ADMIN', true); и/или: "SetEnvIf X-Forwarded-Proto https HTTPS on the top" (без кавычек, в самом начале файла перед любым другим содержимым) в ваш .htaccess

Если вы используете Cloudflare, установите режим шифрования SSL/TLS на Full. Вот и всё! Сайт будет загружаться без проблем.

Спасибо! Это сработало у меня. Нужно ли затем удалять эту строку или оставить её?

Проблема возникла у меня при отключении плагина Cloudflare, так как у меня была с ним ошибка, и нужно было его сбросить и войти снова. Добавление этого кода в начало файла wp-config исправило ситуацию, и я смог войти и снова включить плагин Cloudflare, а затем удалить код из wp-config без проблем.

Спасибо @JakirHossain! Изменение настройки SSL/TLS в Cloudflare с Flexible
на Full
сработало для меня. Кажется, это лучшее решение, чем ручное изменение wp-config.php
, если только это не крайняя мера.

сработало. Также это нужно добавить в начало после <?php
, иначе будет ошибка доступа при входе в wp-admin

У меня сработало именно это решение, в то время как вариант без else не помог.

Поместите этот код в файл wp-config.php
в первую строку внутри PHP-тега.
if($_SERVER['PHP_SELF']=="/index.php")
{
define('WP_HOME','https://yourdomain.com');
define('WP_SITEURL','https://yourdomain.com');
}
else
{
define('WP_HOME','http://yourdomain.com');
define('WP_SITEURL','http://yourdomain.com');
}
Но не забудьте заменить URL вашего сайта вместо yourdomain.com

По какой-то причине права доступа к папке wp-admin были установлены в 777, что означает, что каждый может читать, записывать или выполнять файлы в этой папке.
Мы вошли на сервер и обнаружили ошибку с сообщением "wp-admin не может быть доступен для записи группой."
Мы изменили права доступа, чтобы папка не была доступна для записи группой или другими пользователями (755), и админ-панель сразу стала доступна.
(Изменение прав доступа произошло, казалось бы, случайно. Наша команда сайта даже не имела доступа к серверу в тот момент, когда wp-admin перестал работать, и мы до сих пор не знаем, как изменились настройки. До этого сайт работал без проблем несколько лет.)

У меня была такая же проблема, и я обнаружил несколько папок с правами 775: wp-admin, wp-content, wp-includes. Изменил их на 755 и сейчас запускаю проверку на вредоносное ПО, чтобы убедиться, что ничего подозрительного не происходит. Спасибо!

У меня была ошибка 'Too many redirects' в wp-admin только после переноса на новый сервер.
Проблема была в некорректных правах доступа к папке wp-admin и файлам верхнего уровня внутри неё. Сброс прав доступа решил проблему.
Надеюсь, это поможет тем, кто столкнётся с подобной ситуацией.

В моем случае проблема была связана с настройкой DirectoryIndex
в Apache. Административная панель wp-admin
была доступна по адресу wp-admin/index.php
, но не работала при обращении по wp-admin
, выдавая ошибку ERR_TOO_MANY_REDIRECTS
.
Похоже, что настройка DirectoryIndex
в Apache может быть задана "неправильно". Попробуйте сбросить её в начале вашего файла .htaccess
:
DirectoryIndex index.php
Смотрите полный ответ здесь. Не могу получить доступ к админ-панели через wp-admin без /index.php после него
