Ошибка ERR_TOO_MANY_REDIRECTS или «Слишком много перенаправлений» — одна из распространённых проблем, с которой сталкиваются владельцы сайтов на WordPress. Эта ошибка возникает, когда браузер попадает в бесконечный цикл перенаправлений и не может загрузить страницу. В этой статье мы подробно разберём причины появления ошибки, методы её устранения и полезные инструменты для диагностики.
Что вызывает ошибку ERR_TOO_MANY_REDIRECTS в WordPress
Основная причина ошибки — конфликт правил перенаправления, которые заставляют браузер переходить по кругу между URL. В WordPress это может быть вызвано:
- Неправильными настройками URL сайта (siteurl и home) в базе данных или в файле wp-config.php;
- Конфликтом плагинов, особенно связанных с кэшированием, SEO или безопасностью;
- Ошибками в файле .htaccess, например, неправильными правилами редиректов или перезаписью URL;
- Ошибками конфигурации HTTPS, когда HTTP и HTTPS адреса смешиваются без корректных редиректов;
- Неправильными настройками CDN или прокси-сервера.
Чтобы эффективно устранить проблему, необходимо последовательно проверять каждый из этих пунктов.
Проверка и исправление настроек адреса сайта (siteurl и home)
Первым шагом всегда нужно убедиться, что в базе данных и конфигурации WordPress указаны правильные URL. Если они отличаются — возникает конфликт перенаправлений.
Для проверки можно зайти в админку WordPress в раздел Настройки - Общие и посмотреть значения «Адрес WordPress (URL)» и «Адрес сайта (URL)». Они должны совпадать и быть корректными (с https, если используется SSL).
Если доступ к админке отсутствует, можно быстро исправить через файл wp-config.php, добавив строки:
define('WP_HOME', 'https://wp-blog.ru');
define('WP_SITEURL', 'https://wp-blog.ru');
Замените 'https://wp-blog.ru' на ваш реальный адрес. После этого сохраните файл и попробуйте зайти на сайт.
Также можно исправить значения напрямую в базе данных через phpMyAdmin, в таблице wp_options, поля siteurl и home.
Диагностика конфликтов плагинов, вызывающих перенаправления
Очень часто причиной бесконечных редиректов становятся плагины, особенно кэш-плагины (например, W3 Total Cache, WP Super Cache), плагины безопасности (Wordfence, iThemes Security) или SEO (Yoast SEO, Rank Math), которые могут управлять редиректами.
Рекомендуется временно отключить все плагины и проверить, исчезла ли ошибка. Для этого через FTP или файловый менеджер переименуйте папку wp-content/plugins в plugins_old и зайдите на сайт. Если всё заработало — проблема в одном из плагинов.
Далее возвращайте папку обратно и поочерёдно отключайте плагины, чтобы выявить виновника. После обнаружения плагина можно попробовать обновить его, настроить корректно или заменить альтернативой.
Правильная настройка файла .htaccess для избежания циклов редиректов
В WordPress файл .htaccess отвечает за правила перезаписи URL. Неправильные правила могут вызвать бесконечные редиректы.
Стандартный .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
Если в файле есть дополнительные правила, связанные с редиректами или HTTPS, временно закомментируйте их и проверьте сайт.
Для восстановления стандартного файла .htaccess можно создать резервную копию текущего, затем заменить содержимое на стандартное и проверить работу сайта.
Пример исправления редиректа с http на https через .htaccess
Если вам нужно сделать автоматическое перенаправление с http на https, используйте правильное правило:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Это правило проверяет, что соединение не зашифровано, и делает редирект на https. Неправильные правила, которые создают циклы, нужно удалять.
Настройка HTTPS и устранение конфликтов с SSL-сертификатом
Неправильная конфигурация HTTPS — частая причина ошибки too many redirects. Например, если WordPress настроен на https, а сервер или прокси неправильно обрабатывают SSL, может возникать цикл.
Убедитесь, что SSL-сертификат установлен корректно и сайт доступен по https без ошибок.
Если используется прокси или CDN (Cloudflare, Sucuri), проверьте, что там настроены правильные параметры SSL (Full или Full Strict), и нет конфликтов с редиректами.
В файле wp-config.php можно добавить защиту от подобных ошибок:
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
}
Этот код помогает WordPress правильно распознавать HTTPS при работе с прокси.
Использование плагинов для диагностики и устранения циклов перенаправления
Существуют плагины, которые помогают находить и исправлять проблемы с редиректами:
- Redirection — мощный плагин для управления редиректами и логирования ошибок;
- Better Search Replace — поможет заменить URL в базе данных, если они указаны некорректно;
- WP-CLI — инструмент для работы с сайтом через командную строку, полезен для массовых замен URL и диагностики;
- Health Check & Troubleshooting — плагин для безопасного отключения плагинов и тем для диагностики проблем.
Например, с помощью WP-CLI можно проверить и заменить старые URL командой:
wp search-replace 'http://old-url.ru' 'https://wp-blog.ru' --skip-columns=guid
Итоги и рекомендации по предотвращению ошибки
Для предотвращения ошибки ERR_TOO_MANY_REDIRECTS в будущем советую:
- Всегда использовать единый формат URL (с https или без) для siteurl и home;
- Аккуратно настраивать редиректы в .htaccess и плагинах;
- Тестировать плагины на тестовом сайте перед установкой на продакшен;
- Использовать проверенные плагины для кэширования и SEO;
- Регулярно очищать кэш браузера и сайта после изменений.
Соблюдение этих рекомендаций значительно снизит риск возникновения циклов перенаправлений и обеспечит стабильную работу сайта на WordPress.