Doppelten Content verhindern

Ist eine Domain sowohl mit www als auch ohne www erreichbar,
dann hat man schnell das Problem von doppeltem Content.
Dieser ist kann bei Tante Google und Co. zu Abstrafung im Ranking fuehren.

Bei machen Hostern ist es zudem ueblich, nicht verfuegbare Subdomains einfach mal eben auf die Hauptdomain umzuleiten und dies meist ohne Fehlermeldung o.ae.
Auch das fuehrt zu doppelte Content.

Doppelter Content kann vermieden werden, indem man in der .htacces Datei,
per mod_rewrite Regeln bestimmt, dass eine Seite nur noch ohne/mit www erreichbar ist.

Folgender Code muss dafuer in die .htaccess Datei

Damit die Seite nur noch mit www verfuegbar ist

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.deine-domain\.de$ [NC]
RewriteRule ^(.*)$ http://www.deine-domain.de/$1 [R=301,L]

Wenn man nun http://deine-domain.de aufruft wird man automatisch auf http://www.deine-domain.de geleitet.

Damit die Seite nur noch ohne www erreichbar ist:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^.]+)\.deine-domain\.de$ [NC]
RewriteRule ^(.*)$ http://deine-domain.de/$1 [R=301,L]

Beim Aufruf von http://www.deine-domain.de wird man automatisch auf http://deine-domain.de geleitet.

Eine bestimmte Subdomain von der Regelung ausschliessen (ohne www Variante)

RewriteCond %{HTTP_HOST} ^([^.]+)\.deine-domain\.de$ [NC] [OR]
RewriteCond %{HTTP_HOST} !^subdomain\.deine-domain\.de$ [NC]
RewriteRule ^(.*)$ http://deine-domain.de/$1 [R=301,L]

Eine bestimmte Subdomain ausschliessen (mit www Variante)

RewriteCond %{HTTP_HOST} !^www\.deine-domain\.de$ [NC] [OR]
RewriteCond %{HTTP_HOST} !^subdomain\.deine-domain\.de$ [NC]
RewriteRule ^(.*)$ http://www.deine-domain.de/$1 [R=301,L]

Wo finde ich die .htacces Datei?

Die htacces Datei befindet sich, sollte sie denn schon vorhanden sein, zumeist im root Verzeichnis, auch als Stammverzeichnis bekannt, des Webspaces.
Manchmal muss man im FTP-Programm erst einstellen, dass auch versteckte Dateien angezegt weden, damit man die .htacces Datei zu gesicht bekommt.

Sollte keine .htacces Datei vorhanden sein, einfach einen stink normalen Editor oeffnen, die gewuenschte Regel hineinschreiben, und als htaccess.txt abspeichern. Danach die Datei auf den Webspace, ins root Verzeichnis, laden und umbennen in .htacces!

Wieso denn auf dem Webspace umbennen und nicht gleich richtig abspeichern?

Windows kann mit .htacces nicht umgehen, da .blablab als Dateiendung gewertet wird,
die Datei haette somit keinen Namen und wird deshalb von Windows erst gar nicht so zugelassen.

Sollte eine .htaccess Datei vorhanden sein, in der RewriteEngine On schon drin stehen, dann bitte darauf achten, dass bei einer Regel RewriteEngine On nicht noch einmal definiert wird.

Webblogs / CMS verwenden meist mode_rewrite, um Suchmaschinen freundliche URLs zu generieren,
dies hat aber zur Folge, dass dabei URLs entstehen wie z.B. http://alice-grafixx.de/brushes.
Auch hier entsteht doppelter Content, denn die Seite waere auch unter http://alice-grafixx.de/brushes/ zu erreichen.

Damit an alle URLs immer ein Schraegstrich hinten angehaengt wird

Diese Regel in die .htaccess Datei packen:
RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]

Wichtig!

Das Modul mod_rewrite muss aktiviert sein, damit die Umleitungsregeln auch funktionieren.
Ob mod_rewrite bei dir aktiviert ist, verraet dir bestimmt dein Hoster, oder du fuehrst den Befehl phpinfo() aus, dieser verraet dir mehr ueber die PHP-Konfiguration deines Webspaces….

Comments are closed.