Con l'abbandono di Apache come web-server in favore di altri servizi come tomcat si e' andato a perdere un modulo molto utile, che permetteva di per poter trasformare le proprie url ,personalizzarle e renderle molto piu chiare, il mod_rewrite.
Questo ci permetteva di modificare queste url poco chiare, piene di codici e parole chiave come quella qui sotto
www.miosito.it/cgi-bin/pub/page.cgi?id=1&id_cat=4
in url nella maggior parte dei casi molto più brevi e utili per poterci imporre sui motori di ricerca con le keyword più' inerenti alla nostra pagina e al nostro sito internet:
www.miosito.it/1/4/la_mia_pagina.html
Sicuramente un url scritto in questa maniera potrà comunicare sia all'utente che al motore di ricerca cosa viene trattato nella pagina.
In Java l'utilizzo di questa regola non era inclusa a causa della perdita dell'utilizzo dell'htaccess e di Apache.
Grazie alla libreria "Url Rewrite Filter" potremo ottimizzare un URL rendendolo più user friendly o meglio SEO friendly, questo ci aiuterà a rendere più importanti determinate keyword che vogliamo posizionare nei motori di ricerca dando così la possibilità al nostro sito di guadagnare visibilità e credibilità sul motore di ricerca sull'argomento trattato.
In questo modo potremo adattare le url alle nostre esigenze, così come veniva fatto utilizzando Apache con l'uso del mod_rewrite, scrivendo regole in una sintassi molto simile a quella già utilizzata in Apache.
Questo può' essere applicato a tutte le url e può permetterci di aggiungere tutte le informazioni che vogliamo condividere solo con la visualizzazione del link , dando cosi più importanza alle parole che vogliamo utilizzare come parole chiave.
es:
www.miosito.it/1/categoria_prodotto/marca/nome_prodotto.html
se la nostra idea e' dare più informazioni possibili sul nostro prodotto
www.miosito.it/1/argomento/indice/parte_1.html
se la nostra idea e di dare più informazioni possibili sull'argomento trattato nella nostra pagina
La trasformazione delle url potrà' essere fatto in questa maniera:
<rule>
<from>^/(.*)/categoria_(.*)/(.*).html$</from>
<to type="forward">
/prodotti.do?id=$1&nome_categoria=$2&nome_pagina=$3
</to>
</rule>
con questa regola noi indichiamo al nostro filtro di leggere tutte le url formate con la sintassi descritta tra i tag <from> e formata dalle tre variabili contrassegnate da (.*) e sostituirle alle variabili dell'url che troviamo all'interno dei tag <to> contrassegnate da $n.
Come possiamo vedere nell'url racchiusa dai tag to l'informazione necessaria per visualizzare l'articolo e' l'id cioè la prima variabile, le altre variabili sono solo di contorno, mi permettono di visualizzare al meglio l'url from dando tutte le informazioni e le keyword che voglio rendere visibili.
Questa e' la trasformazione che ha avuto l'url:
-url iniziale
/prodotti.do?id=1
-successivamente per utilizzare le rew_rule sono stati aggiunti questi parametri
/prodotti.do?id=1&nome_categoria=arceria&nome_pagina=arco_ricurvo_in_legno
-questi parametri aggiuntivi sono stati utilizzati per costruire l'url finale trasformandoli in eventuali cartelle o pagine web
/1/categoria_arceria/arco_ricurvo_in_legno.html
L'installazione e' sintetizzabile in 3 passi fondamentali:
-copiare la libreria "Url Rewrite Filter" all'interno della nostra cartella riservata alle librerie utilizzate.
-copiare i filtri necessari a reindirizzare tutte le richieste alla nostra libreria nel file web.xml del nostro progetto:
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
-e infine scrivere le regole che vogliamo applicare alle nostre url al file WEB-INF/urlrewrite.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite
PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
"http://tuckey.org/res/dtds/urlrewrite2.6.dtd">
<urlrewrite>
<rule>
<from>^/(.*)/categoria_(.*)/(.*).html$</from>
<to type="forward">
/prodotti.do?id=$1&nome_categoria=$2&nome_pagina=$3
</to>
</rule>
</urlrewrite>
Ora siamo pronti e possiamo comiciare a utilizzare le nostre nuove url.
Ulteriore documentazione puo essere trovata qui