.htaccess Redirect

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");           
	   ?>