00 Stimmen

Alle HTTP-Anfragen auf HTTPS umleiten

Frage von Gast | 04.08.2017 um 17:16

Ich habe mir für meine Website ein SSL-Zertifikat gekauft. Früher, als meine Homepage noch keine SSL-Verschlüsselung besaß war die Seite ganz normal über HTTP, also zum Beispiel über eine URL wie http://www.example.com/seite erreichbar, jetzt entsprechend zusätzlich über die HTTPS-URL (https://www.example.com/seite).

Nun besteht das Problem dass alle Links, die auf meine Seite zeigen noch HTTP-Links sind und jede Suchmaschine natürlich auch noch meine alten Links gespeichert hat (doppelter Content - schlecht).

Kann ich irgendwie alle Anfragen, die über HTTP hereinkommen auf HTTPS umleiten? Dann wäre das Problem gelöst. Idealerweise sollte dabei aber der Rest des Links beibehalten und exakt umgeleitet werden (also http://www.example.com/seite auf https://www.example.com/seite und nicht nur auf https://www.example.com.

AntwortenPositivNegativDatumStimmen
Avatar
1Beste Antwort1 Stimme

Eine solche HTTP-auf-HTTPS-Weiterleitung kannst du einfach über HTACCESS lösen.

Füge einfach die folgenden Zeilen direkt an den Anfang deiner .htaccess Datei hinzu (eine Datei mit dem Namen .htaccess im Wurzelverzeichnis deines Webprojekts):

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

Die erste Zeile aktiviert hier die Rewrite-Engine. In der zweiten Zeile (Rewrite-Condition) wird geprüft, ob die Anfrage nicht über HTTPS erfolgt (HTTPS off). Falls dies der Fall ist, wird die dritte Zeile (RewriteRule) ausgeführt. Hier erfolgt die Weiterleitung.

Wir senden dabei den Statuscode 301 (Permanent Redirect) mit. Dies soll den Suchmaschinen und Browsern zeigen, dass es sich bei dieser Umleitung nicht um eine temporäre sondern um eine dauerhafte Angelegenheit handelt. So haben Browser und Suchmaschine die Gelegenheit ihre URLs zu aktualisieren.
04.08.2017 um 17:18

AntwortenPositiv Negativ
Avatar
00 Stimmen

Die eben genannte Antwort ist natürlich richtig. Stattdessen kannst du für die Weiterleitung aber auch noch andere Abfragen konstruieren.

Zum Beispiel kann man statt "RewriteCond %{HTTPS} off" auch "RewriteCond %{HTTPS} != on" oder "RewriteCond %{SERVER_PORT} !^443$" schreiben. Bei HTTPS wird der Port 443 verwendet. Daher können wir auch nach diesem Port fragen, um zu checken ob die Anfrage über HTTPS/SSL erfolgt.

Auch die RewriteRule können wir ändern, zum Beispiel in "RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]" oder wir geben direkt unsere Domain mit an: RewriteRule (.*) https://www.example.com/$1 [R=301,L];
04.08.2017 um 17:18

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

HTACCESS: URL vereinfachen

Tutorial | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.