RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.ihredomain\.tld$ [NC]
RewriteRule ^ordner1/([^/]*)/([^/]*) details1.php?gruppe=$1&p=$2 [L]
RewriteRule ^ordner2/([^/]*) details2.php?pfad=$1
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.ihredomain\.tld$ [NC]
RewriteRule ^ordner1/([^/]*)/([^/]*) details1.php?gruppe=$1&p=$2 [L]
RewriteRule ^ordner2/([^/]*) details2.php?pfad=$1
Beispiel für Rewrite-Regeln in einer .htaccess- Datei
Einsatz bei geänderten Dateistrukturen
Ein Webpräsenz lebt, wächst, verändert sich. Dies gilt auch für Dateien / Dateinamen und die Ablage in der Ordnerhierarchie. Durch mod-rewrite ist es möglich, die Zugriffe auf die alte - nicht mehr existente - Seite auf die neue Seite umzuleiten. Die Logik lautet sinngemäß "wenn alteseite.html angefordert wird, schreibe die URL um zu neueseite.html und ruf diese auf". Dadurch gelangen Besucher direkt zur neuen Seite, Lesezeichen bleiben gültig.Tipp: Für die Suchmaschinen sollte man das rewrite unbedingt mit einer 301-Weiterleitung kombinieren. Dadurch wird die Wertigkeit der alten Seite an die neue vererbt. Die Neu- Einsortierung in die Suchergebnisse erfolgt erheblich schneller!
Einsatz zur Anpassung der Pfade
Die gesamte URL inkl. Pfad und Datei sind suchmaschinenwirksam. Finden sich also die zum Inhalt passenden Keywords auch in der URL, ist dies grundsätzlich positiv. Durch mod-rewrite wird bspw. ein Aufruf wie
http://www.ihredomain.tld/details.php?id=5&det=87
umgewandelt zu
http://www.ihredomain.tld/fernseher/plasmafernseher.php
Hierbei wird die Variable "id=5" zum Ordner "Fernseher", "det=87" zur Datei "plasmafernseher.php". Man erhält eine für Suchmaschinen hochwertige URL, nutzerfreundlich (Lesbarkeit!) ist sie auch, der Bezug zum Inhalt ist gegeben. Der Systemadministrator hat weiterhin nur eine Datei (hier: details.php), die er pflegen muss, da der interne Aufruf wie bisher erfolgt, Ordner und Datei werden in die alten Variablen zurückgewandelt, ohne dass der User dies bemerkt.
In der Rückwandlung liegt auch die eigentliche Schwierigkeit. Aus Ordner und Dateiname müssen eindeutige Zuweisungen generiert werden. Daher findet man oft URLs wie
http://www.ihredomain.tld/fernseher/plasmafernseher_87.php
Hier wird zur Detailbestimmung die 87 aus dem Dateinamen abgeleitet.
ACHTUNG: Bei einer internen Verlinkung von Produkt zu Produkt oder im Menü müssen die neuen Pfade und Dateinamen natürlich ebenfalls verwendet werden. Dies geschieht durch den Mod-Rewrite- Einsatz NICHT automatisch und muss manuell oder besser über eine Funktion ergänzt werden!
Unter dem Stichwort "suchmaschinefreundliche URLs" bieten die meisten Blog- Installationen und Shopsysteme entsprechende Möglichkeiten an, ggf. als Erweiterung. Die Verwendung ist unbedingt empfehlenswert.
Sonstiger Einsatz
Zur Analyse stehen auch Daten wie bspw. IP-Adresse des Nutzers, der User- Agent (Browser) u.a. zur Verfügung. Man kann dementsprechend mod-rewrite auch für eine browserabhängige Umleitung verwenden oder den Nutzer geographisch umleiten.Tipps & Fehlerquellen
- Bei einfachen Webspace- Angeboten ist der Einsatz einer .htaccess oder der Rewrite- Engine nicht verfügbar- Durch die .htaccess-Datei wird der Apache- Webserver (teil-)konfiguriert. Die Fehlertoleranz ist sehr gering. Ein Fehler kann die Seite nicht mehr erreichbar machen.
- Regular Expressions sind schwierig. Testen Sie genau mit allen denkbaren Fehlerquellen, ob das gewünschte Ergebnis erzielt wird.
- die Pfadtiefe ist technisch praktisch nicht begrenzt. Für Suchmaschinen sollten jedoch nur flache Pfade verwendet werden (vgl. URL). Das Vorkommen von mehr als ca. 5 Keywords in Pfad + Datei kann als Manipulation interpretiert werden.