Syntax von Apache mod_rewrite

.htaccess mod_rewrite Rewrite-Engine Syntax und Beschreibung



mod_rewrite

Syntax Ausdrücke
. 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 in ".*" gefundene Zeichenkette wird in der Variable "$1" gespeichert wenn es sich um eine RewriteRule handelt. Wenn es sich um eine RewriteCond handelt wird die Zeichenkette in "%1" gespeichert. Es dürfen mehrere Gruppen in einem Ausdruck verwendet werden. Dementsprechend werden die Inhalte in "$2", "$3", .... "$99" abgelegt.
(a|b) (Gruppe) Sucht nach "a" oder "b" der Text wird gespeichert.
[-0-9a-z]* Beliebig viele Bindestriche, Zahlen oder Kleinbuchstaben.
[^/]* Beliebig viele Zeichen, jedoch kein Slash.
!regexp =true wenn der Ausdruck nicht gefunden wird.
<2000 Vergleichsausdruck ist kleiner als 2000.
>1000 Vergleichsausdruck ist grösser als 1000.
="" Vergleichsausdruck ist ein leerer String.
-d Vergleichsausdruck zeigt auf ein Verzeichniss.
-f Vergleichsausdruck zeigt auf eine Datei.
-l Vergleichsausdruck zeigt auf einen Link.
-s Vergleichsausdruck zeigt auf eine nicht leere Datei.
-U Vergleichsausdruck zeigt auf eine gültige URL, welche der Client lesen darf.
-F Vergleichsausdruck zeigt auf eine Datei, welche der Client lesen darf.
mod_rewrite Flags
[NC] Großschreibung / Kleinschreibung nicht beachten.
[OR] Verknüpft eine "RewriteCond" mit der darauf folgenden über ein ODER. Es müssen alle Bedingungen erfüllt sein, damit die Ersetzung durchgeführt wird. Erlaubt mehrere Varianten.
[R=302] Leitet extern um. Hier 302 = temporär.
[L] Last | Bearbeitung abschliessen, keine weiteren Regeln anwenden.
[N] Die neu festgestellte URL soll noch einmal alle Regeln durchlaufen.
[C] Die nächste Regel wird nur geprüft wenn die aktuelle Regel zutraf.
mod_rewrite 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. Darf leer sein.
%{HTTP_USER_AGENT} Client.
%{QUERY_STRING} Übergebener Anfrage-String. (GET-Formulare)
%{REMOTE_ADDR} IP-Adresse des Besuchers.
%{REMOTE_HOST} Domain-Name des Besuchers (z.B. dip.t-dialin.net).
%{REMOTE_USER} Benutzername des Besuchers. Nach Identifizierung.
%{REQUEST_URI} Die angeforderte URL.
%{REQUEST_FILENAME} Name der vom Client angeforderten Datei (icl. Ordnernamen).
%{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} "$PATH" aus Apache.
%{HTTP:CONNECTION} "Connection:" aus dem HTTP-Header.