Eine mit SSL-Zertifikat verschlüsselte Webseite macht nur dann Sinn, wenn die Besucher Ihre Webseite über HTTPS aufrufen. Nachfolgend zeigen wir Ihnen, wie Sie die Weiterleitungen einrichten können und welche Varianten es gibt.
Weiterleitung von http auf https ohne Berücksichtigung der Subdomain (www.)
Damit eine automatische Weiterleitung auf HTTPS erfolgt, wenn die Webseite über HTTP aufgerufen wird, müssen Sie lediglich folgenden Codeschnipsel in die .htaccess Datei Ihres Webprojekts einfügen:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
Die Weiterleitung funktioniert jetzt wie folgt:
http://www.domain.de wird auf https://www.domain.de weitergeleitet.
http://domain.de wird auf https://domain.de weitergleitet.
(Bitte den Platzhalter domain mit Ihrem Domainnamen ersetzen.)
Bei diesem Beispiel wird allerdings nicht die Weiterleitung der Subdomain (www.) berücksichtigt. Hierbei kann allerdings ein Problem bei der Indexierung der Website durch Suchmaschinenbots entstehen, weil die Seiten sowohl mit www. als auch ohne www. aufrufbar sind. Das kann von Suchmaschinen als Duplicate Content oder Spamversuch gewertet werden. Deswegen empfehlen wir noch zusätzlich die Weiterleitung von nicht www. auf www.
Weiterleitung von http auf https mit Berücksichtigung der Subdomain (www.)
Damit sowohl die Weiterleitung von http auf https, als auch die Weiterleitung von nicht www. auf www. aktiv wird, müssen Sie den folgenden Codeschnipsel in die .htaccess Datei Ihres Webprojekts einfügen:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.de$ [NC]
RewriteRule ^(.*)$ https://www.domain.de/$1 [L,R=301]
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://www.domain.de/$1 [R=301,L]
</IfModule>
Die Weiterleitung funktioniert jetzt wie folgt:
http://www.domain.de wird auf https://www.domain.de weitergeleitet.
http://domain.de wird auf https://www.domain.de weitergleitet.
https://domain.de wird auf https://www.domain.de weitergeleitet.
Wenn Sie die Schreibweise ohne www. bevorzugen, können Sie natürlich das Weiterleitungsziel entsprechend anpassen. Dafür müssen Sie einfach die URL Angabe bei "RewriteRule" anpassen und auf die Version ohne www. verweisen.
FAQ
Sollte die Weiterleitung nicht funktionieren, könnte Sie noch eine alternative Redirect-Regel ausprobieren. Ersetzen Sie dafür die Zeile RewriteCond %{SERVER_PORT} !=443 durch RewriteCond %{HTTPS} !=on. Dadurch wird statt dem Serverport, nur der HTTPS-Parameter abgefragt. Sollte es dennoch nicht funktionieren liegt das wahrscheinlich an der Konfiguration des Servers bei Ihrem Provider (Hosting-Anbieter). Hierfür sollten Sie einen Experten hinzuziehen.
Die Weiterleitung funktioniert generell nicht?Dann könnte das Modul "mod_rewrite" inaktiv sein. Das wird über die Abfrage "IfModule" geprüft. Dieses Server-Modul gehört bei den meisten modernen Servern zum Standard und ist normalerweise immer vorhanden. Ist das der Fall, wird die Redirect-Regel ausgeführt. Ist das Modul tatsächlich nicht vorhanden, greift auch die Redirect-Regel nicht und die Abfrage sorgt dafür, dass dadurch zumindest kein Server-Fehler entsteht. Für die Lösung sollten Sie einen Experten hinzuziehen.