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.
Ähnliche Themen
XAMPP: SSL/HTTPS für lokale Projekte einrichten
Tutorial | 8 Kommentare
HTACCESS: URL vereinfachen
Tutorial | 0 Kommentare
Deutsche Gesetzestexte auf Englisch
Info | 0 Kommentare
Virtuelle Domains für Apache/XAMPP erstellen
Tutorial | 0 Kommentare
Kirmes Termine NRW 2014
Info | 0 Kommentare
HTML Formular: Weiterleitung abhängig von Radiobutton oder Checkbox
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.
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):
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
Die eben genannte Antwort ist natürlich richtig. Alternativ 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