.htaccess – Weiterleitung zu HTTPS

In diesem kurzen Snippet wollen wir zeigen, wie man per .htaccess eine Weiterleitung von HTTP zur HTTPS  erzwingt.

Will man für eine Domain alle Requests, die über HTTP kommen, immer direkt auf HTTPS weiterleiten, genügen folgende Zeilen.


RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]

Will man für eine Subdomain HTTP zulassen, kann das über ein paar weitere RewriteCond Anweisungen gelöst werden.


RewriteEngine On

# Weiterleitung http zu https ausser für nossl.meine-domain.de
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !nossl.meine-domain\.de [NC]
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]

# Weiterleitung https zu http für nossl.meine-domain.de
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} nossl.meine-domain\.de [NC]
RewriteRule (.*) http://%{HTTP_HOST}/$1 [R=301,L]

Hier wird zunächst die Weiterleitung zu https erzwungen mit der Ausnahme der Subdomain nossl.meine-domain.de. Im zweiten Block wird nun HTTPS für die Subdomain explizit ausgeschlossen, in dem in diesem Fall die Weiterleitung von HTTPS zu HTTP erzwungen wird.

Ich hoffe wie immer, diese erstbeste Lösung war hilfreich.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert