Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

HTTP 500.52 Windows Server, AD и Роли

Бесконечный цикл редиректов в IIS URL Rewrite: исправление ERR_TOO_MANY_REDIRECTS

Обновлено: 28.08.2026 · Официальная документация ↗

Симптомы циклической переадресации в IIS

При открытии сайта браузер выдает ошибку: ERR_TOO_MANY_REDIRECTS (Слишком много перенаправлений), либо сервер возвращает HTTP Error 500.52 - URL Rewrite Module Error. Запросы бесконечно перенаправляются между HTTP и HTTPS или между URL с www и без www.

СимптомПричина
ERR_TOO_MANY_REDIRECTSПравило редиректа на HTTPS не учитывает SSL-терминацию на внешнем балансировщике
HTTP 500.52Синтаксическая ошибка в регулярном выражении или циклический Rewrite на один и тот же шаблон
Зацикливание слэшей в конце URLКонфликт между правилом добавления слэша (Trailing Slash) и ЧПУ сайта

Пошаговое исправление правил перенаправления URL Rewrite

  1. Настройте эталонное правило редиректа с HTTP на HTTPS: убедитесь, что включен флаг stopProcessing="true" и используется проверка {HTTPS} off:
    <rule name="Redirect to HTTPS" stopProcessing="true"><match url="(.*)" /><conditions><add input="{HTTPS}" pattern="^OFF$" /></conditions><action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" /></rule>
  2. Исправьте редирект при работе за CDN / Reverse Proxy (SSL Offloading): проверяйте заголовок X-Forwarded-Proto:
    <rule name="Redirect HTTPS Proxy" stopProcessing="true"><match url="(.*)" /><conditions><add input="{HTTP_X_FORWARDED_PROTO}" pattern="^http$" /></conditions><action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" /></rule>
  3. Проверьте флаг stopProcessing на всех правилах: каждое терминальное правило должно содержать атрибут stopProcessing="true", чтобы предотвратить выполнение нижестоящих конфликтующих правил.

Совет: Во время отладки правил URL Rewrite всегда используйте временный редирект redirectType="Found" (HTTP 302). Браузеры жестко кэшируют постоянные редиректы Permanent (HTTP 301), что мешает проверке внесенных изменений.

💡 Практика специалистов: При использовании внешних CDN (Cloudflare, Qrator) бесконечный редирект часто возникает из-за режима SSL Flexible. Переключите режим в Full (Strict), либо проверяйте заголовок HTTP_X_FORWARDED_PROTO.

Частые вопросы (FAQ)

Почему браузер продолжает циклический редирект после удаления правила?

Браузер сохранил постоянный редирект 301 в локальном кэше. Очистите кэш браузера или проверьте сайт в режиме инкогнито.

В чем разница между действиями Redirect и Rewrite в IIS?

Redirect (301/302) сообщает браузеру запросить новый URL (URL в строке меняется). Rewrite прозрачно переписывает путь внутри веб-сервера без изменения адреса у клиента.

Что означает переменная {R:1} в правилах URL Rewrite?

Это обратная ссылка на первую группу захвата регулярного выражения, указанного в блоке match url.

Как проверить регулярные выражения URL Rewrite на ошибки?

Используйте встроенный инструмент 'Тестирование шаблона' (Test pattern) в модуле URL Rewrite консоли IIS Manager.

Полезные материалы
Рекомендуем