mod_rewrite – Mit oder ohne “www”

mod_rewrite - Mit oder ohne "www"
Man kann eine URL mit oder ohne www schreiben. Mit dem mod_rewrite
kann man das ganze auch andersherum gestalten – bei Anfragen mit
dem www wird dieses einfach entfernt…

Es ist vielleicht nicht "so" nützlich, doch sieht
es in der Adresszeile vielleicht besser aus, wenn das www nicht
mit dabei steht. Über das mod_rewrite von Apache ist das möglich.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.seite\.de$ [NC]
RewriteRule ^(.*) http://seite.de/$1 [R]

In der ersten Zeile wird die RewriteEngine von mod_rewrite

angeschaltet.
Die zweite Zeile definiert die Rewrite-Bedingung. Wenn der
angeforderte Host, http://www.seite.de/ ist, dann wird die RewriteRule
auf diese Anfrage angewendet. Das [NC] hinter dem Regulären
Ausdruck steht für no case sensitivity. Das bedeutet,
das keine Unterscheidung zwischen Groß-, und Kleinschreibung,gemacht
wird.

Die dritte Zeile definiert dann die Umleitung.
Wird die Seite direkt über http://www.seite.de/ aufgerufen,
dann wird die Anfrage an http://seite.de/ umgeleitet.
Wichtig ist jetzt jedoch noch, das wenn die Seite über http://www.seite.de/dir/seite.htm
aufgerufen wird, das das auch so behandelt wird, und entsprechend
behandelt wird.
(.*) kann hierbei die Anfrage an den Server sein (das was
hinter dem /
steht).

Bei der Anfrage http://www.seite.de/dir/seite.htm wäre
der Inhalt dieses Platzhalters folglich dir/seite.htm. Dieser
Platzhalter wird innerhalb der RewriteRule durch $1 angsprochen.
Die eigentliche Umleitung erfolgt mit
http://seite.de/$1 [R]
Das [R] steht für Redirect, also für "Umleitung".

This entry was posted in Mod_rewrite, Servertechnik. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *