#Что означает ошибка
Страница не работает: слишком много перенаправлений 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 повреждены. | В режиме инкогнито работает. | Очистите. |
#Пошаговое решение
- Откройте в инкогнитоОткройте сайт в приватном окне браузера и попробуйте войти через
/wp-login.php; наблюдайте адресную строку и сообщения браузера. Если вход возвращает назад на форму, сохраните копию адреса и проверьте, разрешены ли cookie для домена; не очищайте все данные браузера без необходимости. - Очистите cookie и кэшВойдите в панель хостинга и откройте конфигурацию WordPress (
wp-config.php), предварительно сохранив её копию и базу. Проверьте, не заданы лиWP_HOME/WP_SITEURLс HTTP вместо HTTPS или с неправильным www. Параметры должны соответствовать действительному адресу сайта, а не только адресу панели. - Проверьте адресаЕсли сайт за Nginx-прокси или CDN, определите, какой сервер завершает TLS и корректно ли приложение видит HTTPS. В Cloudflare режим Flexible при серверном принудительном HTTPS часто вызывает цикл; переключаться на Full (strict) можно только после установки валидного сертификата на origin. Не добавляйте правила
HTTPS=onвслепую без доверенного прокси. - Проверьте HTTPS за проксиВ WordPress через административный интерфейс, если доступен, временно выключите недавно установленные плагины перенаправления/безопасности. При недоступной админке администратор может на стенде временно переименовать каталог только одного подозрительного плагина через файловый менеджер и вернуть после проверки. Не переименовывайте всё
wp-content, это затронет темы и загрузки. - Проверьте режим CloudflareПосле исправления URL и прокси очистите только cookie конкретного домена в настройках браузера и повторите вход. Если на другом устройстве вход работает, исследуйте расширения браузера; если вход не работает у всех, смотрите журналы PHP и ответные заголовки
Set-Cookie/Locationбез публикации секретов. - Отключите плагиныПроверьте, что сервер не устанавливает cookie для чужого домена или неправильного пути; у WordPress действуют настройки COOKIE_DOMAIN, WP_HOME и SITEURL. Меняйте COOKIE_DOMAIN только при доказанном конфликте и после резервной копии: неправильное значение способно полностью сломать вход.
- Проверьте .htaccessПроверьте содержимое
.htaccessи блоки Nginx на повторяющиеся правила редиректа. Для Apache снимите копию.htaccess, а затем сохраните постоянные ссылки в «Настройки → Постоянные ссылки» после восстановления входа. Для Nginx выполнитеnginx -tдо применения правок. - Проверьте адреса в базеУбедитесь, что вход проходит, после перехода в
/wp-admin/сессия сохраняется и в журнале нет повторяющихся 301/302. Если только один браузер продолжает цикл, очистите его данные для конкретного домена и проверьте принудительный HSTS/кэш редиректов; отключение HTTPS не является решением. - Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
Перед изменением настроек сделайте резервную копию файлов и базы данных. Если вы недавно переносили сайт, проверьте, что в базе нет старых адресов; для замены используйте wp search-replace 'http://старый' 'https://новый' --dry-run, чтобы сначала посмотреть результат. Не оставляйте несколько источников редиректа (серверный, плагин, CDN): оставьте один. Для ошибок в админке посмотрите журнал wp-content/debug.log (включается WP_DEBUG_LOG). Справка — .