mod_rewrite für suchmaschinenfreundliche URLs
Was ist mod_rewrite?
mod_rewrite ist ein Modul für den Apache-Webserver, welches die Definition so genannter Rewrite-Regeln ermöglicht. Mit Hilfer solcher Rewrite-Rules können URL-Manipulationen vorgenommen werden und somit beispielsweise suchmaschinenfreundlicher gestaltet werden.
Wie kann mod_rewrite genutzt werden?
Das Modul mod_rewrite können Sie mittels der Erstellung einer .htaccess-Datei nutzen. Für Informationen zum Anlegen einer .htaccess-Datei
klicken Sie bitte hier.
Um das mod_speling-Modul zu aktivieren, erstellen Sie in einer .htaccess-Datei bitte den folgenden Eintrag:
RewriteEngine On
Meine RewriteRule funktioniert nicht. Warum?
Wenngleich die Nichtfunktionalität einer Rewrite-Regel viele Ursachen haben kann, hängt dies in vielen Fällen mit der Pfadangabe (Document_Root) von Domains im Kundenmenü zusammen.
Sollte Ihre Rewrite-Rule nicht funktionieren, so empfehlen wir, anhand der nachfolgenden Beispiele zu überprüfen, ob dies mit der Pfadangabe der Domain zu tun haben könnte und ggf. eine Anpassung der RewriteRule oder des Domainpfades vorzunehmen (Anmerkung: In unseren Beispielen gehen wir davon aus, dass der Aufruf der Datei "seite.php" eine Weiterleitung auf www.mcac.net zur Folge haben soll).
Den eingestellten Pfad für Ihre Domain können Sie in Ihrem Kundenmenü in Erfahrung bringen.
Rewrite-Rules bei Domains mit oder ohne Slash am Ende des Domainpfades
RewriteRule seite.php$ www.mcac.net
RewriteRule seite.php www.mcac.net
Die obenstehenden Beispiele funktionieren sowohl bei Vorhandensein als auch bei Fehlen eines abschließenden Slashes am Ende des Domainpfades.
Rewrite-Rules bei Domains ohne Slash am Ende des Domainpfades
RewriteRule ^seite.php$ www.mcac.net
RewriteRule ^seite.php www.mcac.net
Die obenstehenden Beispiele funktionieren nur dann, wenn am Ende des Domainpfades kein Slash angegeben ist. Sie funktionieren jedoch nicht, wenn ein solcher Slash am Ende des Pfades angegeben ist!
Rewrite-Rules bei Domains mit Slash am Ende des Domainpfades
RewriteRule ^/seite.php$ www.mcac.net
RewriteRule ^/seite.php www.mcac.net
RewriteRule /seite.php$ www.mcac.net
RewriteRule /seite.php www.mcac.net
Die obenstehenden Beispiele funktionieren nur dann, wenn am Ende des Domainpfades ein Slash angegeben ist. Sofern kein Slash angegeben ist, funktionieren die o.g. Beispiele nicht.
Wo finde ich weitere Informationen?
Weiter Informationen rund um mod_rewrite finden Sie hier:
mod_rewrite bei SelfHTML.org
Bei SelfHTML.org finden Sie ausführliche deutsche Informationen und Beispiele zur Nutzung von mod_rewrite:
http://de.selfhtml.org/servercgi/server/rewrite.htm
Apache-Webseite Referenzdokumentation
Auf der Apache-Webseite finden Sie eine Referenzdokumentation zum "mod_rewrite"-Modul, welche sowohl auf die grundsätzliche Funktionsweise als auch das Erstellen komplexer Rewrite-Rules eingeht:
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html
Apache-Webseite Rewrite-Guide
Neben der Referenzdokumentation befindet sich auf der Apache-Webseite auch ein Rewrite-Guide, der konkrete Lösungsansätze und Beispiele für RewriteRules bietet:
http://httpd.apache.org/docs/1.3/misc/rewriteguide.html



