Что именно содержит переменная SERVER_PROTOCOL (Apache 2.4)?

Что именно содержит переменная SERVER_PROTOCOL (Apache 2.4)?

У меня есть веб-сайт, обслуживаемый Apache 2.4, который должен обслуживать весь контент через HTTPS. У меня уже есть соответствующие перенаправления, которые работают правильно, но не улавливают никаких патологических случаев. Я хотел улучшить эту ситуацию и, выполняя домашнее задание, наткнулся на следующий пример вэтот документ:

<If "%{SERVER_PROTOCOL} != 'HTTPS'">
    Redirect "/admin/" "https://www.example.com/admin/"
</If>

Я немного изменил это, чтобы отразить свою ситуацию:

<If "%{SERVER_PROTOCOL} != 'HTTPS'">
    Redirect "/" "https://www.example.com/"
</If>

Теперь при попытке просмотреть любой URL-адрес с моего сайта браузер попадает в бесконечный цикл перенаправления.

Я подозреваю, что пример на самом деле неверен. SERVER_PROTOCOLне содержит значения ни HTTPSпри каких обстоятельствах. Вместо этого, согласно тому, что я читал в других статьях, он содержит такие вещи, как HTTP/1.1(как и предполагает название).

Итак, мой вопрос: Что именно содержит SERVER_PROTOCOLпри каких обстоятельствах / в каком контексте? И что может быть причиной того, что официальный сайт документации Apache - единственный, который я нашел за несколько часов исследований, где HTTPSв качестве возможного значения указано SERVER_PROTOCOL?

решение1

Поздравляем, вы нашли ошибку в документации Apache. Рассмотрите возможность сообщить об этом.

Что касается вашей непосредственной проблемы, то, похоже, вы ищете REQUEST_SCHEME,который будет содержать

Часть схемы URI запроса

например, httpили https.

Связанный контент