URL Rewriting con Asp.net su IIS. I metodi per realizzarlo

Chi ha a che fare con il linguaggio ASP.NET, e pergiunta è legato al webserver IIS, è molto probabile che si ponga il questito "Come posso effettuare un url_rewriting?". Ebbene il tutto potrebbe risultare piuttosto semplice se non fosse che IIS preferisce gli URL belli chiari, dotati di estensione, piuttosto che quelli più carini ed elaborati decisi dal webmaster. Per effettuare un URL Rewriting in IIS sono necessari dunque alcuni passaggi.

DARE AD IIS DA ELABORARE QUALCOSA CHE NON VUOL ELABORARE

Innanzitutto una delle nuove funzionalità introdotte da IIS 7 è la possibilità di iniettare HttpHandlers e HttpModules in ogni richiesta in arrivo dal server. Questa è la ragione del perchè il ricavare l'intestazione della pagina in IIS 6 per riscrivere la struttura degli URL risulta essere un' operazione piuttosto complessa. Percui se si ha la necessità di avere links del tipo http://www.example.com/products/fluffy-bunny-slippers/ bisogna ingegnarsi un po'. Le possibilità sono:

Accontentare IIS:Talvolta viene il momento in cui bisogna sottostare a quanto la tecnologia ci impone, e dunque, come detto sopra, evitare di avere links privi di estensione pagina; ciò non preclude però la possibilità di rendere i nostri links più gradevoli: anzichè riscriverlo nel modo http://www.example.com/products/fluffy-bunny-slippers/ una prima soluzione potrebbe essere l'adozione della struttura http://www.example.com/products/fluffy-bunny-slippers.asp nella quale la pagina risulta essere una vera e propria pagina in ASP, piuttosto che una fasulla directory.

Usare un modulo ISAPI o un filtro: i moduli ISAPI si integrano con IIS e sono in grado di elaborare le richieste ancora prima che esse giungano nella pipeline di ASP.NET. I due moduli che consigliamo sono il piuttosto economico IISRewrite ed il gratuito ISAPI Rewrite Filter; entrambi fanno uso di tecnologie e sintassi vicine a quelle del celebre mod_rewrite del PHP.Di certo quest' ultima soluzione è la più pulita e professionale, ma può essere sfruttata solo su servizi di hosting piuttosto elastici, che lasciano agli utenti diversa libertà nel modificare la configurazione di IIS.

Usare una mappatura Wildcard: IIS 6.0 supporta la mappatura wildcard, nella quale tutte le richieste verso un sito vengono rigirate ad un manipolatore. Nonostante questa soluzione possa apparire la migliore, vi sono alcuni inconvenienti, il primo dei quali consiste nel fatto che queste richieste devono prima passare per la pipeline dell' ASP.NET.

Usare una pagina 404 in ASP.NET: se la pagina 404 è in ASP.NET essa avvierà completamente la pipeline, incluse le chiamate degli HttpModules. Così, qualsiasi file non esistente sul webserver darà la possibilità di aggiungere alcune lettere.Questa può diventare una valida soluzione per coloro che non hanno la possibilità di modificare un significante numero di parti del webserver neanche durante il suo utilizzo. Sfortunatamente molti dei più celebri host del momento non lasciano usare la seconda e la terza possibilità sopra esposte e così questa risulta essere uno dei metodi più sbrigativi del momento per effettuare un url rewriting.

Ora che si ha finalmente indotto IIS a seguire le richieste effettuate da ASP.NET e l'operazione più complessa è stata dunque terminata, si può procedere all' url rewriting.

 

Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Graziano
Hai qualche domanda da fare?