WordPress Linux

WordPress: бесконечная переадресация при входе в wp-admin

  • Обновлено
  • Чтение ≈ 3 минуты

Краткий ответ

Если вход в wp-admin вызывает бесконечные перенаправления, проверьте siteurl и home, настройку HTTPS и заголовок X-Forwarded-Proto, отключите плагины кэширования и безопасности, очистите cookie и правила .htaccess.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение

#Что означает ошибка

Сообщение
Страница не работает: слишком много перенаправлений wp-login.php

«Страница не работает: слишком много перенаправлений» (ERR_TOO_MANY_REDIRECTS) при входе в wp-login.php означает, что WordPress, веб-сервер или CDN бесконечно перенаправляют запрос друг другу. Обычно причины — неверные адреса сайта в настройках, конфликт перенаправления http→https (например, при Cloudflare «Flexible» и редиректе на сервере), плагины и устаревшие cookie.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Неверные siteurl и homeАдреса не совпадают.Редирект между http и https или www.Исправьте.
Конфликт редиректа http→httpsПравило в .htaccess, CDN и плагине.Бесконечный цикл за прокси.Настройте один редирект.
Плагин кэширования или безопасностиПлагин перенаправляет.Ошибка после установки.Отключите.
Старые cookieCookie повреждены.В режиме инкогнито работает.Очистите.

#Пошаговое решение

  1. Откройте в инкогнитоОткройте сайт в приватном окне браузера и попробуйте войти через /wp-login.php; наблюдайте адресную строку и сообщения браузера. Если вход возвращает назад на форму, сохраните копию адреса и проверьте, разрешены ли cookie для домена; не очищайте все данные браузера без необходимости.
  2. Очистите cookie и кэшВойдите в панель хостинга и откройте конфигурацию WordPress (wp-config.php), предварительно сохранив её копию и базу. Проверьте, не заданы ли WP_HOME/WP_SITEURL с HTTP вместо HTTPS или с неправильным www. Параметры должны соответствовать действительному адресу сайта, а не только адресу панели.
  3. Проверьте адресаЕсли сайт за Nginx-прокси или CDN, определите, какой сервер завершает TLS и корректно ли приложение видит HTTPS. В Cloudflare режим Flexible при серверном принудительном HTTPS часто вызывает цикл; переключаться на Full (strict) можно только после установки валидного сертификата на origin. Не добавляйте правила HTTPS=on вслепую без доверенного прокси.
  4. Проверьте HTTPS за проксиВ WordPress через административный интерфейс, если доступен, временно выключите недавно установленные плагины перенаправления/безопасности. При недоступной админке администратор может на стенде временно переименовать каталог только одного подозрительного плагина через файловый менеджер и вернуть после проверки. Не переименовывайте всё wp-content, это затронет темы и загрузки.
  5. Проверьте режим CloudflareПосле исправления URL и прокси очистите только cookie конкретного домена в настройках браузера и повторите вход. Если на другом устройстве вход работает, исследуйте расширения браузера; если вход не работает у всех, смотрите журналы PHP и ответные заголовки Set-Cookie/Location без публикации секретов.
  6. Отключите плагиныПроверьте, что сервер не устанавливает cookie для чужого домена или неправильного пути; у WordPress действуют настройки COOKIE_DOMAIN, WP_HOME и SITEURL. Меняйте COOKIE_DOMAIN только при доказанном конфликте и после резервной копии: неправильное значение способно полностью сломать вход.
  7. Проверьте .htaccessПроверьте содержимое .htaccess и блоки Nginx на повторяющиеся правила редиректа. Для Apache снимите копию .htaccess, а затем сохраните постоянные ссылки в «Настройки → Постоянные ссылки» после восстановления входа. Для Nginx выполните nginx -t до применения правок.
  8. Проверьте адреса в базеУбедитесь, что вход проходит, после перехода в /wp-admin/ сессия сохраняется и в журнале нет повторяющихся 301/302. Если только один браузер продолжает цикл, очистите его данные для конкретного домена и проверьте принудительный HSTS/кэш редиректов; отключение HTTPS не является решением.
  9. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Проверка и исправление адресов через WP-CLI (замените домен).
    Linux · Терминал (Bash)С осторожностью
    Проверка и исправление адресов через WP-CLI (замените домен).
    wp option get siteurl
    wp option get home
    wp option update siteurl 'https://example.ru'
    wp option update home 'https://example.ru'
    wp plugin deactivate --all

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

    Вариант 2Пример файла или настройки
    Текст
    # Стандартный .htaccess WordPress
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress

Перед изменением настроек сделайте резервную копию файлов и базы данных. Если вы недавно переносили сайт, проверьте, что в базе нет старых адресов; для замены используйте wp search-replace 'http://старый' 'https://новый' --dry-run, чтобы сначала посмотреть результат. Не оставляйте несколько источников редиректа (серверный, плагин, CDN): оставьте один. Для ошибок в админке посмотрите журнал wp-content/debug.log (включается WP_DEBUG_LOG). Справка — документация WordPress.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.