Dezember 28, 2007
URL Rewrite API's (3)
Der URLRewriteFilter stellt ebenfalls eine freie und sehr umfangreiche Rewriteengine dar. Sie basiert auf Java und wird in einem Servlet-Container eingesetzt. Für die Beschreibung der Rewrite-Regeln ist ein XML-Sprache vorgesehen, die meiner Meinung nach einfacher und intuitiver zu erlernen ist als die Direktiven bei modrewrite.
Neben den bekannten Mechanismen wie URL-Abstraktion, Agent-Detection, zeitgesteuertes Rewriting usw. kann sie zusätzlich basierend auf Rewriteregeln Anfragen in programmierte Funktionen umleiten. Damit erhält man unbegrenzte Möglichkeiten auch komplexere semantisch reichhaltigere URL's zu rewriten.
Hierzu nachfolgend zwei äquivalente Beispiele zu dem modrewrite-Artikel:
Einfaches Beispiel
Das Element "rule" kennzeichnet eine Regel für eingehende Requests und das Element "outboung-rule" für die Erzeugung von Links innerhalb der Webapplikation, was eine interessante Funktionalität darstellt. So nämlich kann die gesamte Komplexität verdeckt werden und alle Links die von Crawlern durchsucht werden semantisch gestaltet werden.
# URL, die aussieht wie eine statische HTML-Seite soll die dynamische JSP-Seite dahinter verdecken.
<rule>
<from>^/Computer.html$</from>
<to>/index.jsp?category=2</to>
</rule>
<outbound-rule>
<from>^/index.jsp?category=2$</from>
<to>/Computer.html</to>
</outbound-rule>
Komplexeres Beispiel
# URL's fangen mit den Begriff BlogEintrag an und enden mit der Extension .html. Die Daten,
# die dazwischen liegen, abgesehen vom Bindestrich, werden in der Variable $1 gehalten.
# Diese wird später für die Auflösung der dynamischen URL wieder verwendet.
<rule>
<from>^/BlogEintrag-([0-9]*).html</from>
<to>/blog.jsp?id=$1</to>
</rule>
Weitere Beispiele gibt es hier. Zusätzlich gibts es ebenfalls eine Beschreibung zur Einbindung.
Technorati Tags: seo rewrite rules




