Réécriture des URL / URL Rewriting en java

L’URL rewriting est aujourd’hui le garant d’un meileur référencement pour les sites web dynamiques.
En effet, les moteurs de recherche n’indexent pas ou moins bien les url dotées d’un grand nombre de paramètres.
Les url telles que http://www.monsite.com/index.php ?param1=1234¶m2=abcd ne sont pas très parlantes alors que www.monsite.com/rewriting-ur... est humainement lisible et davantage mémorisable.
Et pour finir, le fait de pouvoir placer des mots clés dans l’url sera bien sûr bénéfique au référencement de celle-ci.
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
</filter-class>
</filter>
<param-name>logLevel</param-name>
<param-value>DEBUG</param-value>
<!-- pattern des url qui vont etre reecrites -->
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Toutes les url demandées seront filtrées car nous avons utilisé le pattern /* mais nous pourrions aussi utiliser d’autres patterns tels que *.htm, *.html…
Maintenant nous allons écrire notre première règle :
<urlrewrite> <rule enabled="true"> <from>^/([0-9]+)\-([0-9]+)\-([a-z0-9\-\.]+)\.htm$</from> <to>index.jsp ?param1=$1&param2=$2</to> </rule> </urlrewrite>
Cette règle transforme une url du type http://www.monsite.com/1234-9876-url-rewriting.htm en une url du type www.monsite.com/index.jsp?param1=1234¶m2=9876 qui sera utilisable par la webapp.
Il est bien sûr possible de multiplier les règles selon les besoins de l’application.
Voilà, notre filtre est prêt, nous pouvons désormais utiliser des url du type :
http://www.cestpasdur.com:8080/demo_rewriting/1-2-url-rewriting.htm
http://www.cestpasdur.com:8080/demo_rewriting/12345-098765-url-rewriting-tuckey.htm
Il existe d’autres solutions qui permettent la réécriture des url, par exemple, apache est doté d’un mod_rewrite qui fonctionnant de concert avec un .htaccess permettra d’effectuer les mêmes manipulations d’URL, certainement de manière plus performante, mais peut être, un peu moins dynamique.
Aucun trackbacks pour l'instant