.htaccess Weiterleitung Fehler 404 auf 301 und ohne und mit www - Duplicate Content

  • Folgender Code lenkt den Fehler 404 (Seite nicht gefunden) auf eine Unterseite die dann die 301er Weiterleitung auslöst.
    Die Zeile 1 sorgt dafür das alle 404 Fehler auf die Fehlerseite index.html im Rootverzeichnis geleitet werden. Solltest du eine index.php als Seite verwenden dann einfach die Endung in dieser Zeile ändern.
    Die Zeile 3 und 4 leitet domain.de auf http://www.domain.de um



    Code
    1. ErrorDocument 404 http://www.domain.de/index.html
    2. RewriteEngine On
    3. RewriteCond %{HTTP_HOST} ^([^.]+).(de)
    4. RewriteRule ^(.*) http://www.%1.%2/$1 [R=301,L]
    5. RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html?|php)\ HTTP/
    6. RewriteRule ^index\.(html?|php)$ http://www.domain.de/ [R=301,L]


    domain.de durch deinen Domainnamen ersetzen alles weitere bleibt so.



    Wer die Domain auf "ohne www" leitet sollte das verwenden:


    Code
    1. ErrorDocument 404 http://domain.de/index.html
    2. RewriteEngine On
    3. RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.de$ [NC]
    4. RewriteRule ^(.*)$ http://domain.de/$1 [R=301,L]
    5. RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html?|php)\ HTTP/
    6. RewriteRule ^index\.(html?|php)$ http://domain.de/ [R=301,L]


    Der Code kommt übrigens in einen .htaccess Datei in das Hauptverzeichnis dort hin wo sich auch die anderen html Dateien befinden. Die Datei hat keine Dateiendung sonder nur den Namen ".htaccess"