Apache2 SSL Unterseite verschlüsseln

crz

New Member
Hallo,

ich bin aktuell auf der Suche nach einer Lösung eine Unterseite zwingend SSL zu verschlüsseln.

Momentan ist die Hauptseite SSL verschlüsselt.
www.example.com

Nun soll auch eine Unterseite zwingend SSL verschlüsselt werden.
www.example.com/admin

Versucht hatte ich es mit einer 301 Condition:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com/admin$
RewriteRule ^(.*)$ https://www.example.com/admin$1 [L]

Hätte wahrscheinlich auch geklappt, wenn mein Shopsystem nicht schon ein paar Conditions in der htaccess für diesen Ordner gesetzt hätte, daher fällt diese Methode flach.

Nun meine Frage, kann man im virtuellen Host (/etc/apache2/ssl.conf) nicht irgendwie die Unterseite mit einbeziehen?

Bin für jede Antwort oder Tipp dankbar.

Vielen Dank.
 
Last edited by a moderator:
gelöst.

Ich hatte eben einfach mal eine weitere Cond mit eingebaut und nun funktioniert es einwandfrei.

Code:
RewriteEngine On

[COLOR="Red"]RewriteCond %{SERVER_PORT} !=443[/COLOR]
RewriteCond %{HTTP_HOST} !^www\.example\.com/admin$
RewriteRule ^(.*)$ https://www.example.com/admin$1 [L]

Kann mir jemand erklären, warum es jetzt mit dieser zusätzlichen Zeile funktioniert?
 
die RewriteCond mit dem HTTP_HOST dürfte immer greifen, da HTTP_HOST sicherlich nicht den Pfad enthält.

Daß es jetzt geht, hängt vermutlich damit zusammen, daß Du nun noch zusätzliches abfragst und damit die Regel nicht immer greift...
 
Dein erster Versuch hat vermutlich eine endlose Redirect-Schleife ausgelöst da %{HTTP_HOST} bestimmt nie "www.example.com/admin" enthält sondern lediglich den Rechnernamen "www.example.com". In Deinem zweiten Versuch wird die Schleife durch die Prüfung des Ports abgebrochen.

BTW schöner finde ich (z.B. als .htaccess im Verzeichnis admin)
Code:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule (.*) https://www.example.com/admin/$1 [R=301,L]
 
Oder man macht es richtig und verwendet zwei VHosts, einen auf Port 80 und den Anderen auf Port 443. Dann im ersten VHost ein RedirectMatch zum Zweiten und fertig. Diese überflüssigen mod_rewrite-Spielchen braucht kein Mensch...
 
Back
Top