Mächtig ist sie, die Rewrite-Engine des Apache Webservers. Und dementsprechend auch nicht so einfach zu verstehen.
Bild: sxc.hu
Damit Sie sich nicht mit dem Lernen von Rewrite-Befehlen herumschlagen müssen, stellen wir Ihnen heute die drei Anweisungen vor, die unsere Supporter am häufigsten anwenden.
Die Anweisungen werden jeweils in einer Textdatei hinterlegt, die den Namen .htaccess trägt und sich im Verzeichnis public_html befindet.
Website aus einem Unterordner aufrufen
Damit die gewünschte Website aus einem Unterordner aufgerufen wird, tragen Sie folgende Anweisung in die Datei .htaccess ein:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^ihredomain.ch$ [OR]
RewriteCond %{HTTP_HOST} ^www.ihredomain.ch$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /unterordner/$1 [PT,L,QSA]
Und damit die Weiterleitung nicht in einer ewigen Schlaufe endet, fügen Sie folgende Anweisung in die .htaccess Datei im entsprechenden Unterordner ein:
RewriteEngine off
Domain A auf Domain B zeigen lassen
Falls Sie den Inhalt von Domain B anzeigen lassen möchten, ohne dass sich die URL in der Adresszeile ändert, verwenden Sie folgende Anweisung in Ihrer .htaccess-Datei:
RewriteEngine On
RewriteRule ^(.*)$ http://www.ihredomain.ch/$1 [P,L]
Anfragen ohne www. umleiten
Ihre Website ist in der Regel sowohl mit www. als auch ohne diesen Zusatz erreichbar. Damit Suchmaschinen erkennen, dass es sich bei beiden Varianten um den gleichen Inhalt handelt, können Sie Anfragen an Ihre Domain mit folgendem Befehl in der Datei .htaccess umleiten:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^ihredomain\.ch$ [NC]
RewriteRule ^(.*)$ http://www.ihredomain.ch/$1 [R=301,QSA,L]
Haben Sie Fragen zu diesen Anweisungen? Oder eine eigene Regel, die Sie immer wieder verwenden? Dann hinterlassen Sie uns doch einen Kommentar. Wir freuen uns.
2 Kommentare
um 09:05
Danke für den nützlichen Beitrag.
Eine Frage habe ich noch. Wiso wird beim umleiten eines Directories (1. Beispiel) nicht die gleiche Ergänzung wie im 3. Beispiel benutzt? ([PT,L,QSA] vs. [R=301,QSA,L])
Ist es gerade für die Suchmaschinenoptimierung nicht besser ein R=301 (pemanent redirect) zu haben?
Gruss
Dominik
um 09:58
Im ersten Beispiel ist für den Besucher bzw. die Suchmaschine nicht ersichtlich, dass der Inhalt eigentlich aus einem Unterordner aufgerufen wird. Entsprechend ist auch keine 301 Weiterleitung nötig, da sich der Inhalt ja von aussen gesehen bereits am richtigen bzw. bekannten Ort befindet.