Was genau enthält die Variable SERVER_PROTOCOL eigentlich (Apache 2.4)?

Was genau enthält die Variable SERVER_PROTOCOL eigentlich (Apache 2.4)?

Ich habe eine Website, die von Apache 2.4 bereitgestellt wird und alle Inhalte über HTTPS bereitstellen soll. Ich habe bereits entsprechende Umleitungen eingerichtet, die korrekt funktionieren, aber keine pathologischen Fälle erkennen. Ich wollte diese Situation verbessern und stieß bei meinen Hausaufgaben auf das folgende Beispiel indieses Dokument:

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

Ich habe dies leicht geändert, um meine Situation widerzuspiegeln:

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

Wenn ich jetzt versuche, eine beliebige URL meiner Site anzuzeigen, gerät der Browser in eine Endlosschleife mit Weiterleitungen.

Ich vermute, dass das Beispiel tatsächlich falsch ist. SERVER_PROTOCOLscheint den Wert HTTPSunter keinen Umständen zu enthalten. Stattdessen enthält es, wie ich in anderen Artikeln gelesen habe, Dinge wie HTTP/1.1(wie der Name vermuten lässt).

Meine Frage ist also: Was genau SERVER_PROTOCOLenthält unter welchen Umständen/in welchem ​​Kontext? Und was könnte der Grund dafür sein, dass die offizielle Dokumentationswebsite von Apache die einzige ist, die ich während mehrstündiger Recherche gefunden habe und die HTTPSals möglichen Wert auflistet SERVER_PROTOCOL?

Antwort1

Herzlichen Glückwunsch, Sie haben einen Fehler in der Apache-Dokumentation gefunden. Erwägen Sie, ihn zu melden.

Was Ihr unmittelbares Problem betrifft, scheinen Sie zu suchen nach REQUEST_SCHEME:welches enthalten wird

Der Schemateil der URI der Anfrage

zum Beispiel httpoder https.

verwandte Informationen