Stefan B.: .htaccess: https erzwingen, aber nicht für Unterverzeichnis von anderer Domain

Moin,

in meinem Hostingpaket bei Strato habe ich das eine kostenlose SSL-Zertifikat für meine Hauptdomain aktiviert und in der .htaccess die Umleitung von http-Adressen nach https aktivert:

RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Funktioniert soweit. Das Problem: Für eine andere Domain ist eine Umleitung an ein Unterverzeichnis unterhalb der Hauptdomain eingerichtet, und das soll von der http-zu-https-Umleitung erstmal ausgenommen werden.

Was ich bisher probiert habe: Eine weitere Bedingung in die .htaccess der Hauptdomain hinzugefügt, damit nur URLs mit diesem Host umgeleitet werden:

RewriteCond %{HTTP_HOST} ^(www\.)?hauptdomain.de

Funktioniert aber nicht; URLs mit der anderen Domain werden ebenfalls zu https geändert. Vermutlich habe ich da irgendwo einen "Denkfehler". Muss ich die Umleitung vielleicht in einer weiteren .htaccess-Datei im Unterverzeichnis der anderen Domain wieder aufheben? (Wenn ja, wie?)

Zur Verdeutlichung hier nochmal die fiktive Verzeichnisstruktur:

\htdocs => https://(www.)hauptdomain.de (Umleitung http -> https)
|
+--\sub1
|
+--\sub2
|
+--\sub3 => http://www.andere-domain.de (keine Umleitung zu https!)
|  |
|  +--index.html
|
+--.htaccess
|
+--index.html
|
+--seite1.html
|
+--...
|
:

Hat jemand 'nen Tipp, wie das richtig geht?

VG Stefan

akzeptierte Antworten

  1. RewriteCond %{HTTPS} off
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    Funktioniert soweit. Das Problem: Für eine andere Domain ist eine Umleitung an ein Unterverzeichnis unterhalb der Hauptdomain eingerichtet, und das soll von der http-zu-https-Umleitung erstmal ausgenommen werden.

    Was ich bisher probiert habe: Eine weitere Bedingung in die .htaccess der Hauptdomain hinzugefügt, damit nur URLs mit diesem Host umgeleitet werden:

    RewriteCond %{HTTP_HOST} ^(www\.)?hauptdomain.de
    

    Funktioniert aber nicht; URLs mit der anderen Domain werden ebenfalls zu https geändert.

    Das sieht für mich soweit stimmig aus. Tipp: Du hast Dir beim Testen schon einen 301 für die andere Domain eingefangen. 301 landen im Browsercache.

    Gegenprobe: einfach mal Inkognitomodus probieren.

    1. Ah, der verflixte Browsercache - im "privaten Modus" (mit leerem Cache) klappt's jetzt auch... Danke für den Hinweis!