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