Lexikon: Kanonische URL

Im Rahmen der Suchmaschinenoptimierung einer Website ist es u.a. wichtig, Inhalte nur unter einer einzigen Adresse bereitzuhalten, der sogenannten kanonischen URL. So könnte die Startseite einer Domain beispielsweise unter folgenden URLs aufrufbar sein:

Hier entscheidet man sich für einen Standard und leitet die anderen Varianten mit einem Status Code 301 dorthin weiter. Wenn man Mod_rewrite zur Verfügung hat, kann man mit folgenden Rules in der .htaccess eine solche Weiterleitung nach http://example.com/ bewerkstelligen:

RewriteEngine on
RewriteBase /

# Weiterleitung von www.example.com nach example.com:
RewriteCond %{HTTP_HOST} !^example\.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

# Weiterleitung von example.com/index.php nach example.com/:
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{THE_REQUEST} /index\.php
RewriteRule ^index\.php http://example.com/ [R=301,L]

Bei der Wahl von http://www.example.com/ als Standard-URL schauen die Weiterleitungen dagegen so aus:

# Weiterleitung von example.com nach www.example.com:
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

# Weiterleitung von www.example.com/index.php nach www.example.com/:
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{THE_REQUEST} /index\.php
RewriteRule ^index\.php http://www.example.com/ [R=301,L]