- Mod rewrite
-
Eine Rewrite-Engine (von engl. rewrite, „umschreiben“ und engine, „Maschine“) ermöglicht es, an den Webserver gerichtete Anfragen intern umzuschreiben oder extern weiterzuleiten. Die bedeutendste Rewrite-Engine ist das Softwaremodul mod_rewrite, das diese Aufgabe für den Apache-Webserver erledigt. Andere Webserver wie etwa IIS, Lighttpd oder Zeus Web Server (en) bieten ähnliche Funktionen.
Geschaffen wurde diese Funktionalität, um nach außen ein von internen Faktoren unabhängiges URL-Schema zur Verfügung stellen zu können, sodass beispielsweise selbst bei einer Änderung der Dateihierarchie die URLs weiterhin gültig bleiben.
Neben der angefragten URL erlauben die Rewrite-Engines zusätzlich, die Adressumleitung von Bedingungen abhängig zu machen, zum Beispiel von der referenzierenden URL, der User-Agent-Kennung oder der IP-Adresse des anfragenden Client.
Beispielanwendung
Rewrite-Engines werden häufig genutzt, um Ressourcen mit dynamischen URLs unter Alternativadressen erreichbar zu machen.
Die Ressource mit der internen, technisch bedingten Adresse
/w/index.php?title=Rewrite-Engine
ist so beispielsweise auch unter folgender Adresse erreichbar
/wiki/Rewrite-Engine
Nach außen werden dann statt der dynamischen, parametrisierten Adressen die statischen Adressen verwendet. Dies ist nützlich, da kurze, selbsterklärende Adressen meist als lesbarer, einfacher zu merken und ganz allgemein als vertrauenswürdiger eingestuft werden.
Eine mögliche Umsetzung des gezeigten Anwendungsfalls für das Apache-Modul mod_rewrite lautet im Serverkontext beispielsweise
RewriteEngine on
RewriteRule ^/wiki/(.*)$ /w/index.php?title=$1
Siehe auch
Weblinks
- mod_rewrite-Modul (englisch) in der Apache-Dokumentation
- ISAPI_Rewrite-Modul (englisch) für IIS
- mod_rewrite-Modul (englisch) in der Lighttpd-Dokumentation
- Zeus-Web-Server-Dokumentation
- Umleitungen mit mod_rewrite auf SELFHTML
- Hypertext Style: Cool URIs don't change. von Tim Berners-Lee
Wikimedia Foundation.