14 novembre 2008 Francesco Boschian

Realizzare URL parlanti con il framework Dot Net

L’importanza di creare delle URL “parlanti” è già stata discussa innumerevoli volte, quindi non mi soffermerei nel discuterne i vantaggi, ma piuttosto vorrei fornire qualche spunto su come farle quando il sito in questione è realizzato tramite il framework Dot Net.

Anche perché l’uso di Dot Net è in notevole crescita per lo sviluppo di siti web, e se fino a qualche tempo fa i siti realizzati tramite tale tecnologia erano rari da trovare, ora si può dire che iniziano ad essere un numero rilevante.

Detto questo, vediamo quali sono le tecniche più utilizzate e più conosciute (da me :-) ) per la realizzazione dell’URL rewriting.

Isapi rewrite:
E’ un modulo di terze parti, dal costo di poche decine di euro, che ha bisogno di essere installato nel server dove risiede il sito.
Una volta installato ed abilitato all’interno del web server IIS (come riportato nella figura seguente), permette di lavorare con un file di configurazione da inserire nella root del sito.

La versione 2 del filtro Isapi Rewrite necessita di un file httpd.ini, con una sintassi proprietaria, mentre la versione 3 del filtro ha adottato una sintassi identica a quella del file .htaccess di Apache.
Per maggiori informazioni sul filtro Isapi Rewrite vi consiglio di consultare il sito del produttore, che contiene una documentazione completa ed è ricco di esempi pratici.

UrlRewritingNet.UrlRewrite:
Un altro modulo di terze parti, questa volta gratuito ed open source, è realizzato per Dot Net 2.0, ma testato con successo fino alla versione 3.5 del framework di Microsoft.
Tale modulo consiste in 2 DLL (URLRewrite.dll e UrlRewritingNet.UrlRewriter.dll) da includere nella sottocartella BIN dell’applicazione web, dopodiché all’interno del file web.config si dovranno creare le regole per la riscrittura delle URL.
Per maggiori informazioni consultate il sito ufficiale di questo progetto, dove è presente una ricca documentazione ed alcuni esempi di utilizzo.

HttpModule e gli HttpHandler:
Il framework Dot Net utilizza due moduli che possono essere utilizzati per intercettare le chiamate e conseguentemente gestirle secondo le necessità dettate dalla riscrittura: il modulo HttpModule e l’HttpHandler.
Per maggiori informazioni su questa tecnica vi consiglio di leggere l’articolo di Html.it o la risorsa disponibile all’interno dell’MSDN di Microsoft.

E voi, avete esperienze con queste o altre tecniche?