SSL (https://) per .htaccess erzwingen
Mittwoch, 7. November 2007Auf der Suche nach einer schnellen Lösung, den Aufruf bestimmter Unterverzeichnisse des Webservers nur über eine verschlüsselte Verbindung auszuliefern1, habe ich bei Joseph Scott (in einem kurzen Beitrag von 2004) eine kurze und sehr elegante Lösung gefunden, die ich euch nicht vorenthalten möchte.
(Voraussetzung ist dabei natürlich, dass man seinem Apachen natürlich bereits SSL bei- und das entsprechende Zertifikat korrekt untergebracht hat.)
Dazu muss man in der .htaccess-Datei in dem Verzeichnis, das man auf diese Weise „schützen“ möchte, einfach folgenden Code eintragen:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Wenn man mit seiner Apache-Konfiguration Verzeichnis-eigene .htaccess-Dateien anlegen darf und das Rewrite erlaubt ist2, kann man diesen Code-Schnipsel einfach unverändert übernehmen. Er funktioniert sofort bei beliebigen Host-Adressen und Unterverzeichnissen und lässt sich auch nicht durch veränderte SSL-Ports verwirren.