Weiterleitungen in der .htaccess einrichten
Weiterleitungen sind ein wichtiges Thema in der Webentwicklung. Ich zeige dir meine am häufigsten verwendeten Weiterleitungen für Webseiten.
Copy-and-paste Vorlagen
http auf https
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) %{HTTP_HOST}/$1 [R=301,L]
Alternativ konkrete Domain angeben:
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) www.slavlee.de/$1 [R=301,L]
Weitere Alternative nur für bestimmte Domains auf https weiterleiten:
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTP_HOST} ^(www\.)?slavlee\.de [NC]
RewriteRule (.*) www.slavlee.de/$1 [R=301,L]
non-www zu www
RewriteCond %{HTTP_HOST} ^slavlee\.de$ [NC]
RewriteRule ^(.*)$ www.slavlee.de/$1 [L,R=301]
Umleitung auf neue Domain
RewriteRule ^(.*)$ www.slavlee.de/$1 [L,R=301]
Alternative Umleitung von einer Domain zur anderen
RewriteCond %{HTTP_HOST} ^(www\.)?slavlee\.de$ [NC]
RewriteRule ^(.*)$ t3campus.de/$1 [L,R=301]
Umleitung auf Wartungsseite
RewriteRule ^(.*)$ www.slavlee.de/wartung.html [L,R=301]
Erläuterungen
In meinen Projekten nutzen wir stets Apache als Webserver und mod_rewrite für die Weiterleitungen. Daher beziehen sich alle folgenden Beispielen auf den Apache Server.
Damit mod_rewrite überhaupt ausgeführt wird, stelle sicher, dass folgende Zeile vorhanden ist:
RewriteEngine On
Die wichtigsten Befehle für Weiterleitungen sind:
- RewriteCond
- RewriteRule
Die RewriteCond ist die Bedingung, die eintreffen muss, wenn die folgende RewriteRule ausgeführt werden soll.
RewriteCond %{HTTP_HOST}% ^slavlee.de$ [NC]
RewriteRule (.*) www.slavlee.de/$1 [L,R=301]
Eine RewriteRule kann aber auch alleine stehen:
RewriteRule (.*) www.slavlee.de/$1 [L,R=301]
Das hat zur Folge, dass diese Rule immer ausgeführt wird.
Die Ausführung einer RewriteRule bedeutet nicht unbedingt, dass eine Weiterleitung stattfindet. Dafür muss der erste Teil der RewriteRule erstmal zustimmen.
Schlussbemerkung
Da auch mir immer neue Weiterleitungen aufkommen, werde ich diesen Artikel fortlaufend ergänzen. Es lohnt sich also hier hin und wieder hereinzuschauen.
Ein technischer Hinweis. Bei den obigen URLs wird aus technischen Gründen nicht das Protokoll angezeigt (https). Das muss immer vor der Domain noch stehen.
Beispiel:
Ich bitte das zu entschuldigen. Ich arbeite an diesem Problem.