Weiterleitungen und Zugriffe auf Webseiten verwalten
Die .htaccess Datei ist eine Konfigurationsdatei (Textdokument), die in der Regel im Hauptverzeichnis angelegt wird. Hierbei handelt es sich in der Regel um dasselbe Verzeichnis in der sich auch die index.php oder index.htm Seiten befinden. Die Datei bietet die Möglichkeit verzeichnisspezifische Einstellungen für die Domain und deren Unterverzeichnisse vorzunehmen.
Eine .htaccess Datei kann überall dort platziert werden wo der Besucherfluss kontrolliert werden soll. So ist es zum Beispiel möglich Verzeichnisse, Seiten oder auch einzelne Dateien vor dem Zugriff von Besuchern zu schützen und Weiterleitungen (Redirects) auf andere Verzeichnisse oder Seiten einzurichten. Eine dauerthafte Weiterleitung wird dabei auch 301 Redirect genannt.
Diese Website zeigt Ihnen wie Sie die .htaccess Datei verwenden können um verschiedene Weiterleitungen einzurichten. Bitte beachten Sie, dass fehlerhafte Eingaben in der .htaccess Datei schwerwiegende Auswirkungen haben können. Änderungen an der .htaccess treten direkt nach der Speicherung des Dokuments in Kraft. Erstellen Sie vor jeder Änderung der .htaccess Datei eine Sicherungskopie!
Redirect auf eine andere Seite
Redirect von einer Seite auf eine andere:
Redirect /alte-index.html http://www.meine-domain.de/verzeichnisname/neue-index.html
Redirect auf eine andere Website
Dauerhafte Weiterleitung (301 Redirect) von einer bestehenden Domain auf eine andere:
Redirect 301 / http://www.andere-domain.de
Redirect auf ein Unterverzeichnis
Redirect von einer Seite auf ein Unterverzeichnis:
Redirect /index.html http://www.meine-domain.de/verzeichnisname
Redirect Dateipfad
Redirect auf einen neuen Dateipfad:
Redirect /verzeichnisname/dateiname.html http://www.meine-domain.de/verzeichnis2/dateiname.html
Änderung einer Dateieindung
Wenn Sie z.B. dauerhaft Ihre Dateiendungen von .html auf .php ändern möchten:
RedirectMatch 301 (.*)\.html$ http://www.beispiel.de$1.php
Festlegen einer Standardseite
Um die Standardseite beim laden der Seite zu ändern:
DirectoryIndex index.php
Redirect von www auf non-www
Redirect von http://www.meine-seite.de auf http://meine-seite.de:
RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.meine-seite\.de$ [NC] RewriteRule ^(.*)$ http://meine-seite.de/$1 [L,R=301]
Redirect von non-www auf www
Redirect von http://meine-seite.de auf http://www.meine-seite.de:
RewriteEngine On RewriteCond %{HTTP_HOST} !^www\.meine-seite\.de$ [NC] RewriteRule ^(.*)$ http://www.meine-seite.de/$1 [L,R=301]
Vorübergehende Umleitungen via HTTP-Statuscode 307 einrichten
Um eine temporäre Umleitung einzurichten sind folgende Schritte nötig. Erstellen Sie eine temporäre Datei mit dem Namen 307.php und platzieren Sie darin die Nachricht die an die Besucher ausgegeben werden soll. Die Datei wird im Hauptverzeichnis (Root) gespeichert.
Im nächsten Schritt erstellen Sie neben der aktuellen .htaccess Datei eine neuen mit dem Namen .htaccess.307.Diese enthält dann folgenden Inhalt:
RewriteEngine On RewriteBase / # Vor der Verwendung dieser htaccess, müssen Sie Ihre IP Adresse eintragen: # Dies ist notwenig damit Sie weiterhin Zugang zur Website haben solange Ihre # IP sich nicht ändert. http://www.wieistmeineip.de/ RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123$ # Die letzten 2 Zeilen definieren wann die Website offline geht. Wenn Statuscode nicht 307, # gebe nur einmal 307.php aus. Wichtig damit keine Endlosschleisse erzeugt wird. RewriteCond %{REQUEST_URI} !^/307\.php$ # Der Browser erhält dieses Bit, sodass die gesamte Adresse der Website benötigt wird. RewriteRule ^(.*)$ http://www.deine-seite.de/307.php [R=307,L]
Die oben genannten Kommentare sind nur Hinweise und Empfehlungen. Um die Umleitung zu starten ändern Sie den Dateinamen der vorhandenen .htaccess Datei erst in live.htaccess und dann wieder zurück auf .htaccess.
Alternative Redirect 1: Meta Refresh
Es ist auch möglich den Traffic umzuleiten, wenn eine Seite mit der folgenden Zeile im Head Tag besteht:
Für eine direkte Umleitung:
<meta http-equiv="refresh" content="0; url=http://www.neue-webseite.de" />
Bei einer Weiterleitung nach 5 Sekunden:
<meta http-equiv="refresh" content="5; url=http://www.neue-webseite.de" />
Alternative Redirect 2: PHP Header Redirect
Es ist auch möglich eine Umleitung in den ersten Zeilen einer PHP Datei einzurichten (Nichts darf darüber stehen):
<?php header ('HTTP/1.1 301 Moved Permanently'); header("Location: http://www.neue-domain.de/bla.html"); header("Connection: close"); ?>