URL Rewriting
Das sogenannte URL Rewriting bereitet auch erfahrenen Programmierern immer wieder Kopfzerbrechen. Nicht nur, dass man die richtigen HTTP-Status-Kodes im Kopf haben und reguläre Ausdrücke beherrschen sollte, sondern das Umschreiben von URLs kann sogar auf .htaccess-Ebene für einzelne Verzeichnisse und für viele Zwecke gleichzeitig erfolgen.
Auf dieser Seite möchte ich praktische Konfigurationen zum kopieren sammeln. Bei Vorschlägen: schreiben Sie doch einfach
www vor dem Domänennamen
Oft läuft der Webserver sowohl direkt unter der Domäne als auch auf der Subdomäne "www". Um die eingehenden Links konsistent zu halten empfiehlt es sich das www zu "erzwingen". Hier hilft die folgenden Konfiguration:
# Enable URL rewriting
RewriteEngine On
# Redirect adding leading www to root domain if not subdomain specified
RewriteCond %{HTTP_HOST} ^marianne-kuntze-wagner\.de
RewriteRule ^(.*)$ http://www.marianne-kuntze-wagner.de/$1 [R=301,L]
Apache Rewrite Guide auf Apache.org
Variablennamen für mod_rewrite
|
HTTP_ACCEPT |
Vom Client akzeptierte Medientypen(MIME). Z.B. "text/plain" oder "image/gif" |
|
HTTP_COOKIE |
Cookies, die der Client mitschickt. |
|
HTTP_HOST |
Domainname des angefragten (virtuellen) Hosts. |
|
HTTP_REFERER |
Ist gesetzt, wenn die Anfrage über einen direkten Link kam(zuvor besuchte URL des Clients). |
|
HTTP_USER_AGENT |
Client. Z.B. "User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9" |
|
QUERY_STRING |
Bei GET-Formularen übergebener Anfragestring. |
|
REMOTE_ADDR |
IP-Adresse, die der Client mitschickt (eigene, des Proxies, ...) |
|
REMOTE_HOST |
Domainname des Clients, sofern bekannt. |
|
REMOTE_USER |
Benutzername des Clients, gegebenenfalls nach erfolgreicher Anmeldung. |
|
REQUEST_URI |
Die angeforderte URI. |
|
REQUEST_FILENAME |
Dateiname inklusive komplettem (lokalem) Pfad. |
|
SERVER_ADDR |
IP-Adresse des Servers. |
|
TIME_DAY |
Aktueller Tag. |
|
TIME_MON |
Aktueller Monat. |
|
TIME_YEAR |
Aktuelles Jahr. |
|
TIME_HOUR |
Aktuelle Stunde. |
|
TIME_MIN |
Aktuelle Minute. |
|
TIME_SEC |
Aktuelle Sekunde. |
|
ENV:PATH |
Der Pfad auf dem Server. Hierrüber lassen sich beliebige Umgebungsvariablen abfragen. |
|
HTTP:Connection |
HTTP-Header |
|
|
|
