Start Tipps & Tricks SEM SEO HTACCESS & Mod Rewrite
HTACCESS & Mod Rewrite PDF Drucken

Wie man 301 Weiterleitungen von Nicht-WWW zu WWW URLs einrichtet

Das hiermit zu behebende Problem nennt sich Double Content und kommt daher, dass die www Variante einer Domain in Wirklichkeit eine richtige Subdomain darstellt. Inhalte die unter beiden Adressen erreichbar sind werden also beim spidern doppelt gefunden. Das lässt sich aber einfach beheben.

Permanent Redirect (301) von http://domain.de zu http://www.domain.de ein?

Einrichten der Non-WWW 301 Weiterleitung auf einem Apache Server

  1. Stellen Sie sicher, dass bei ihrem Provider oder Server das Rewrite Module des Apache aktiv ist. Die meisten Provider aktivieren diese Funktion auf Nachfrage, bzw. haben sie bereits aktiviert. Wenn Shell Zugriff möglich und die httpd.conf erreichbar ist kann die Aktivierung selbst vorgenommen werden (siehe http.conf - mod rewrite).
  2. Downloaden Sie die .htaccess Datei aus dem Root-Ordner Ihrer Website auf Ihren Rechner.
  3. Erstellen Sie ein Backup der originalen Datei unter einem anderen Namen (z.B.: htaccess.alt) oder einem anderen Ordner.
  4. Bearbeiten oder erstellen Sie die .htaccess Datei falls Sie noch keine in Ihrem Root-Ordner vorgefunden haben. Ein einfacher Editor wie Notepad reicht zur Bearbeitung vollkommen aus. (Hinweis: Manche ftp Programme, besonders Webbasierte zeigen die .htaccess Datei nicht an. Verwenden Sie am besten ein FTP-Programm wie Filezilla)
  5. Fügen Sie den rot markierten Code in die .htaccess ein. Achten Sie darauf, dass die "example.com" mit Ihrer Domain ersetzen.
           RewriteEngine On
    RewriteCond %{HTTP_HOST} ^example.com
    RewriteRule (.*) http://www.example.com/$1 [R=301,L]

  6. Speichern Sie die Datei und laden Sie sie zurück in den Root-Ordner.
  7. Wenn der Upload fertiggestellt ist, öffnen Sie einen Browser und rufen Sie die Seite in Ihrer nicht-www-Variante auf. Wenn die Änderungen an der .htaccess funktionieren sollten Sie umgehend zur www-Variante Ihrer Seite weitergeleitet werden.
  8. Um ganz sicher zu gehen das vom Webserver auch der richtige Status (301) zurückgegeben wird, sollten Sie die Adresse Ihrer nicht-www-Version in einen HTTP Server Header Checker eingeben. Dieses Tool zeigt Ihnen die Statusmeldungen die auch eine Suchmaschine vom Webserver gemeldet bekommt. Das Ergebnis sollte ungefähr so aussehen:
             #1 Server Response: http://example.com
    HTTP Status Code: HTTP/1.1 301 Moved Permanently
    Date: Wed, 14 Mar 2007 22:49:28 GMT
    Server: Apache/1.3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b
    Location: http://www.example.com/
    Connection: close
    Content-Type: text/html; charset=iso-8859-1
    Redirect Target: http://www.example.com/


    #2 Server Response: http://www.example.com/
    HTTP Status Code: HTTP/1.1 200 OK
    Date: Wed, 14 Mar 2007 22:49:28 GMT
    Server: Apache/1.3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b
    Connection: close
    Content-Type: text/html
  9. Wenn die Weiterleitung funktioniert haben Sie es geschafft! Wenn sie nicht funktioniert, stellen Sie die Sicherungskopie wieder her. Nachdem die Sicherung wieder zurückgespielt wurde vergleichen Sie die überarbeitete .htaccess Datei mit der von Ihnen editierten und stellen Sie sicher, dass es keine Fehler gab. Wenn Sie keine Fehler feststellen können, liegen die Ursachen an der Konfiguration des Webservers. Wenden Sie sich in diesem Fall für weitere Informationen bitte an Ihren Hosting-Provider.

Einstellungen in der http.conf

  1.  Erstellen Sie ein Backup der http.conf (z. B.: cp http.conf http.conf.alt).
  2. Öffnen Sie die Datei httpd.conf und entfernen Sie Kommentarzeichen (#) der folgenden Zeile:
    LoadModule rewrite_module modules / mod_rewrite.so 
  3. Nach dem die Linie ist unkommentiert ist, speichern Sie die Datei und starten Sie den Server neu (meist: sudo /etc/init.d/apache2 restart).