SSL Redirect 301 Weiterleitung – HTTP to HTTPS
SSL Redirect
HTTP to HTTPS per .htaccess einrichten
Wenn Sie bei Ihrem Internet Service Provider (ISP) ein SSL Zertifikat für ihre Domain beantragt haben, sollten Sie auch eine permanente 301-Weiterleitung vom bisherigen HTTP Zustand der Website auf HTTPS (HyperText Transfer Protocol Secure) einrichten. Wird dieser Redirect nicht innerhalb der .htaccess Datei oder über eine Serverkonfiguration innerhalb der virtuellen Hosts eingerichtet, ist Ihre Website sowohl unverschlüsselt als auch verschlüsselt aufrufbar. Die verschlüsselte Variante wird dann nur aufgerufen, wenn der User direkt „https://“ vor den Anfang des Domainnamens stellt. Für alle anderen Arten des Domainaufrufs kommt die unverschlüsselte Variante zum Einsatz.
SSL Redirect 301 – HTTP to HTTPS
Da man davon ausgehen kann das ein User nicht ständig beim Aufruf einer Domain prüft ob eine SSL Variante vorhanden ist, müssen wir selbst dafür sorgen, dass immer unsere HTTPS-Variante durch eine 301-Weiterleitung ausgeliefert wird. Um diesen Zustand zu erreichen, können wir unser .htaccess File mit einer entsprechenden RewriteRule für einen SSL Redirect ergänzen. Laden Sie dazu die bestehende .htaccess vom Webserver auf ihren Computer herunter. Sie können dies z.B. mit Hilfe eines FTP-Clients durchführen. Es wird empfohlen eine Sicherheitskopie der bisherigen .htaccess Datei zu erstellen um jederzeit den Urzustand wieder herstellen zu können.
RewriteRule SSL Redirect HTTP to HTTPS
Öffnen Sie jetzt die heruntergeladene Datei mit einem Texteditor, z.B. Notepad++, und fügen Sie die nachfolgenden 2 Codezeilen unterhalb der bereits vorhandenen Codezeile „RewriteEngine On“ ein:
RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Es wird an dieser Stelle davon ausgegangen, dass ein entsprechender Modul-Eintrag „mod_rewrite.c“ bereits in der .htaccess vorhanden ist. Zum Beispiel:
<
IfModule mod_rewrite.c>
RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]<
/IfModule>
Nach dem Einfügen der RewriteRule für einen permanenten SSL Redirect sollte der Code anhand des Beispiels innerhalb des Moduls „mod_rewrite.c“ folgendermaßen aussehen:
<
IfModule mod_rewrite.c>
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]<
/IfModule>
Jetzt müssen wir die modifizierte .htaccess Datei nur noch speichern und wieder auf unseren Webserver hochladen. Ab diesem Zeitpunkt wird jede URL Eingabe zur Domain die nicht explizit „https://“ am Anfang enthält permanent auf die HTTPS Variante redirected.
Trackbacks & Pingbacks
[…] was man im Web findet funktioniert nicht. Eine gute Beschreibung, die bei mir auch klappt habe ich hier […]
Hinterlassen Sie einen Kommentar
Wollen Sie an der Diskussion teilnehmen?Feel free to contribute!