Webseiten mit und ohne www erreichbar machen

http://solariz.de/744/mit-oder-ohne-www-vereinheitlichung.htm

via PHP

Das einfachste ohne grundlegenden Eingriff in den Webserver vornehmen zu müssen ist die Umleitung via PHP. Der folgende Code wird einfach möglichst weit oben in die index.php eingebunden und leitet automatisch Anfragen an http://domain.de um an http://www.domain.de hier muss nichts mehr angepasst werden:

[geshi:redirectifnotwww.php]
via .htaccess

Das die htaccess ein Mächtiges Werkzeug ist habe ich ja in mehreren Artikeln bereits angerissen. Auch hier ist es ähnlich dem PHP Script leicht möglich Anfragen umzuleiten. Dies ist dem PHP Script zu bevorzugen da man nicht in vorhandenen Pagecode eines CMS oder einer Blogsoftware eingreifen muss. Hierzu muss jedoch der Apache Webserver mit mod_rewrite verwendet werden.

RewriteEngine On
# Redirect to www.*
RewriteCond %{HTTP_HOST} !^www\.[a-z-]+\.[a-z]{2,6} [NC]
RewriteCond %{HTTP_HOST} ([a-z-]+\.[a-z]{2,6})$ [NC]
RewriteRule ^/(.*)$ http://%1/$1 [R=301,L]

via Apache Virtual Host

Nun es geht noch direkter und zwar direkt beim Anlegen des Virtuellen Hosts im Apache. Dies setzt jedoch voraus das man den Apache selbst managed und Zugriff auf die Konfigurationsdateien hat. Unter Linux  finden sich diese unter /etc/apache2/sites-enabled. In diesem Verzeichnis liegen die Konfigurationen für die auf dem Server verwendeten IP Adressen. Hier hat man nun die Möglichkeit aus der Domain ohne www einen Redirector zu machen der auf einen zweiten realen Eintrag zeigt der dann das www enthält. Bei mir sieht dies z.B. dann so aus:

<VirtualHost 82.149.225.196:80>
ServerName solariz.de
Redirect / http://www.solariz.de
VirtualHost>

<VirtualHost 82.149.225.196:80>
ServerName www.solariz.de
DocumentRoot /www/solariz.de
VirtualHost>

Wie man erkennen kann wird in der ersten Anweisung alle Anfragen auf den Servername solariz.de per Redirect an www.solariz.de weiter gereicht. That’s it.
via DNS

Wenn man den eigenen Webserver damit gar nicht belasten möchte wählt man die DNS Redirector Methode. Die meisten Webmaster / Administratoren / Seitenbetreiber haben ihre Domain bei einem Anbieter liegen der ein Verwaltungsinterface zu dieser anbietet. Hier werden durch so genannte “A Records” einem Domainnamen die IP des Webservers zugewiesen. Per default wird oft der A Record auf die Hauptdomain angelegt und die weiteren Subdomains per CNAME (eine Art Redirector). Angenommen unsere domain wäre domain.de und die Server IP die 123.123.123.123 so würde der A Eintrag lauten:

domain.de. A 123.123.123.123
www.domain.de. CNAME domain.de

Viele Provider bieten nebem dem klassischem A Record noch eine “A Umgeleitet” Einstellung die es erlaubt per FRAME oder HEADER Redirect Subdomains auf vorhandene Domains umzulenken. Wird dies unterstützt können wir User die das WWW nicht mit eingegeben haben direkt auf die richtige Fährte bringen. Und zwar wird der WWW Eintrag umgeschrieben zu einem echten A Record und verweist nun auf den Webserver. Der Domainname selbst wird nun eine Header Umleitung auf http://www.domain.de eingerichtet. Ab sofort leiten dann alle Aufrufe von http://domain.de um auf http://www.domain.de

domain.de. HEADERREDIRECT http://www.domain.de
www.domain.de. A 123.123.123.123