Mit dem Apache-Modul mod_rewrite hat man vielfältige Einsatzmöglichkeiten rund um URL's.
Hauptsächlich wird es benutzt, um auf Fehlerseiten umzuleiten oder suchmaschinenfreundliche URL's anzubieten.
Dazu leitet das Modul auf Grund von bestimmten Regeln in der Datei .htaccess z. B. http://domain.tld/impressum intern an http://domain.tld/index.php?go=impressum.
Um das zu erreichen, muss das Modul mod_rewrite geladen sein und eine Datei .htaccess sollte im Rootverzeichnis (damit wirkt sich der Inhalt der .htaccess auf das komplette Verzeichnis incl. Unterordner aus) liegen. In der .htaccess sollte Options FollowSymLinks vor der ersten Regel stehen.
Um zu prüfen, ob mod_rewrite geladen ist, mit phpinfo(); bei Loaded Modules nach mod_rewrite suchen.
In die .htaccess kommt nun nach der Zeile Options FollowSymLinks der Eintrag RewriteEngine on.
Danach würde für obiges Beispiel folgende Regel notiert werden:
RewriteRule ^([^.]+)$ /index.php?go=$1
Vollständig könnte die .htaccess folgendermaßen aussehen (Kommentare mit vorangestellter #):
# set Options
Options FollowSym Links
# start RewriteEngine
RewriteEngine on
# set Rewriterules
# URL mit abschließendem Slash werden weitergeleitet
RewriteRule ^([^.]+)/$ /$1 [R]
# Begriff (alle Zeichen) wird an index.php?go= gehängt
# [L] - letzte Regel
RewriteRule ^([^.]+)$ /index.php?go=$1 [L]
Links zum Thema:
http://www.modrewrite.de/
http://www.ranking-konzept.de/mod_rewrite.html
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html