jsp-develop.de presents:

Apache RewriteRules

von Marc,  05.01.2002 13:25:11

Dieser Beitrag stellt nur ein kleines Beispiel zur Verwendung der RewriteRules dar, wie mächtig diese sind und was man sonst noch alles damit machen kann sind auf den unten aufgeführen Seiten nachzulesen.

Zur perfekten Gestaltung von Webseiten bieten sich die RewriteRules des Apache-Webservers an. Ein grosser Vorteil bei der Verwendung ist die Attraktivität für Suchmaschinen. Parameter werden nicht in der Form http://www.jsp-develop.de/knowledgebase/?action=view&bid=603 übergeben sondern in der ästhetischen URL http://www.jsp-develop.de/knowledgebase/view/603/. Intern wird die URL natürlich in die unattraktive Form der Parameterübergabe übersetzt. Wie geht das? Nun, in der hhttp.conf von Apache, oder aber für alle User die nicht die Möglichkeit haben die Apache-Konfiguration direkt zu beeeinflussen, über die .htacces Datei (z.B. Puretec). Hier werden die Rules definiert. Dabei sind ein wenig Kenntnisse über 'reguläre Ausdrücke' notwendig. Ab JDK 1.4 sind diese auch Bestandteil von JAVA. In unserem Beispiel sieht die Regel für die Umleitung wie folgt aus:

RewriteRule ^knowledgebase/([a-z]+)/([0-9]+)/?$ /knowledgebase/?action=$1&bid=$2 [QSA]

([a-z]+) stellt eine Reihe von Kleinbuchstaben dar,
([0-9]+) stellt eine Reihe von Zahlen dar.
[QSA] Query String Append, Weitere Parameter wie z.B. eine Sessionid werden angehaengt

Alle Requests an die URL /knowledgebase/(Kleinbuchstaben)/(Zahlen)/
werden umgeleitet an die URL /knowledgebase/?action=$1&bid=$2

Mit den RewriteRules lassen sich noch viele andere interssante Möglichkeiten realisieren, wie z.B. das Abblocken von Web-Robots, die Umleitung auf neue Seiten nach einer Umstrukturierung einer Webseite, uvm.

Weitere Informationen zu den RewriteRules sind zu finden unter:
http://httpd.apache.org/docs/mod/mod_rewrite.html
http://www.heise.de/ix/artikel/1996/12/149/
URL dieses Beitrags:
http://www.jsp-develop.de/forumbeitrag/view/603/