Die Syntax von mod_rewrite
Reguläre Ausdrücke / Regular 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 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. |


