Mit mod_rewrite das www löschen oder hinzufügen

Um doppelten Inhalt zu vermeiden ist es ratsam, sich auf eine Domain zu beschränken. Gleichzeitig sollte man dafür sorgen, daß die hinterlegten Inhalte weder über andere Domains noch über Subdomains erreichbar sind.

Die URL “www.beispiel.de” ist dabei etwas anderes als nur “beispiel.de”. Das “www” am Anfang ist eine Subdomain, die in früheren Zeiten des Internets anzeigen sollte, daß der WorldWideWeb Teil der Domain aufgerufen werden soll, im Gegensatz zu z.B. ftp / gopher / irc usw. In der heutigen Zeit ist dies hinfällig, aber viele Websurfer sind es immer noch gewohnt, stur das “www” vor die Domain zu tippen.

Um den Besucher nun auf eine der beiden Möglichkeiten zu beschränken, kann man sich des mod_rewrite Moduls vom Apache bedienen. Einfach eine Datei .htaccess im Hauptordner der Webpräsenz anlegen und einen der folgenden Codeschnippsel einfügen.

Für die Weiterleitung aller www-Domains auf ihr Nicht-www Pendant:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www\.(.*)$
    RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
</IfModule>

Für die Weiterleitung aller Nicht-www Domains auf ihr www-Pendant:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www\.(.*)$
    RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
</IfModule>

Für die Weiterleitung aller ankommenden Anfragen auf eine www-Domain:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www\.meine-domain\.de$
    RewriteRule ^(.*)$ http://www.meine-domain.de/$1 [L,R=301]
</IfModule>

Gerade die ersten beiden Fälle sind knifflig, ich hoffe die Codeschnippsel helfen!

Veröffentlicht unter Sonstige Getagged mit: ,
One comment on “Mit mod_rewrite das www löschen oder hinzufügen
  1. Dude sagt:

    Ich bekomme bei der 1. Variante dieses Double Slash Problem … Gelöst hab ich es nun mit

    RewriteCond %{REQUEST_URI} ^(.)//(.)$ RewriteRule . %1/%2 [R=301,L]

    aber hätte es natürlich lieber gleich richtig hmhm …

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht.

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>