SSL (https://) per .htaccess erzwingen
Auf 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.

Freitag, 16. November 2007 um 20:12
Hm, danke danach hatte ich auch schon gesucht und die normalen www-Umleitungen wollten sich nicht so umbauen lassen.
Wenn man nun aber keine realen Ordner hat (mod_rewrite)? Geht das nur bei einem reelen Verzeichnis oder kann man die Rewrite-Anweisung entsprechend erweitern um eine Zeile? Danke.