Einsatzgebiete
Mod_Rewrite findet seinen Einsatz in folgenden Bereichen:
Der Syntax
Reguläre Ausdrücke und Expressions
. Ein beliebiges Zeichen
\. Ein Punkt
.+ Ein oder mehrere beliebige Zeichen
\.\+ Ein Punkt und ein Pluszeichen
.* Kein oder mehr beliebige Zeichen
.? Kein oder ein beliebiges Zeichen
^a "a" am Anfang einer URL oder eines Dateinamens
a$ "a" am Ende einer URL oder eines Dateinamens
a|b Entweder "a" oder "b"
(.*) Gruppe die, sofern es sich um eine RewriteRule handelt, in ".*" enthaltene Zeichenkette in einer Variable "$1" speichert. Handelt es sich um eine RewriteCond wird diese in "%1" gespeichert. Werden mehrere Gruppen verwendet werden alle weiteren Zeichenketten in darauffolgenden Variablen gespeichert, zB: "$2", "$3", "$4", usw.
(a|b) Gruppe welche nach "a" oder "b" sucht und speichert diese
[-0-9a-z]* Beliebig viele Bindestriche, Zahlen und Kleinbuchstaben
[^/]* Beliebig viele Zeichen, jedoch kein Slash
!regexp Ergibt "true" wenn Ausdruck nicht gefunden wird
="" Vergleichsausdruck ist leerer String
-d Vergleichsausdruck zeig auf ein Verzeichnis
-f Vergleichsausdruck zeig auf eine Datei
-l Vergleichsausdruck zeig auf einen Link
-s Vergleichsausdruck zeig auf eine nicht leere Datei
-U Vergleichsausdruck zeig auf eine gültige URL, welche vom Client gelesen werden darf
-F Vergleichsausdruck zeig auf eine Datei, welche vom Client gelesen werden darf
Rewrite Flags (am Ende einer Zeile)
[NC] Großschreibung / Kleinschreibung nicht beachten
[OR] Verknüpft eine RewriteCond mit darauffolgender durch ein "Oder"
[R=302] Umleitung nach 302 (temporär)
[L] Bearbeitung abschließen, keine weiteren Regeln anwenden
[N] Neu festgelegte URL soll noch einmal alle Regeln durchlaufen
[C] Geht zur nächsten Regel wenn aktuelle zutraff
Variablen
%{HTTP_ACCEPT} Vom Client akzeptierte Medientypen, z.B. "text/plain"
%{HTTP_COOKIE} Im Client gesetzte Cookies
%{HTTP_HOST} Domain-Name des abgefragten Hosts
%{HTTP_REFERER} Referer, kann auch leer sein
%{HTTP_USER_AGENT} Der Client
%{QUERY_STRING} Übergebener Anfrage-String (GET-Formulare)
%{REMOTE_ADDR} IP-Adresse des Besuchers
%{REMOTE_HOST} Domain-Name des Besuchers
%{REMOTE_USER} Benutzername des Besuchers
%{REQUEST_URI} Die angeforderte URL
%{REQUEST_FILENAME} Name der vom Client angeforderten Datei
%{SERVER_ADDR} IP des Servers
%{TIME_DAY} Datum, Tag
%{TIME_MON} Datum, Monat
%{TIME_YEAR} Datum, Jahr
%{TIME_HOUR} Datum, Stunde
%{TIME_MIN} Datum, Minute
%{TIME_SEC} Datum, Sekunde
%{ENV:PATH} "" aus Apache
%{HTTP:CONNECTION} "Connection:" aus dem HTTP-Header