IIS 7 URL Rewriter Tech Preview 1
Una domanda tipica che mi viene fatta quando parlo di IIS 7 è se esista qualche meccanismo di rewrite degli url già fatto. Un meccanismo/engine di rewrite degli url può avere diverse funzionalità, come quella di mascherare l’url “vero”, che gestisce la nostra richiesta, di rendere più facile da ricordare un url, piuttosto che facilmente indicizzabile da un motore di ricerca.
Bene, da poco è disponibile una Techical Preview per IIS 7 di un modulo di URL Rewrite.
Queste le funzionalità:
- Motore basato su regole: a fronte di una richiesta http è possibile definire una regola per il match dell’url e definire quindi un’azione (Rule Action) da intraprendere.
- Supporto alla sintassi delle regular expression e wildcard per il riconoscimento dell’url (pattern matching)
- Le regole possono essere definite a livello globale ( nel file applicationHost.Config) o a livello locale (usando il file web.config)
- Accesso agli header http e alle server variable, che possono essere usate per le scelte da intraprendere
- Rule Actions: un’azione può far intraprendere diverse strade: abort di una request, invio di un codice custom al client etc.
- Rewrite Maps: possibilità di definire coppie nome-valore tra url ricevuto come richiesta http e url che effettivamente viene eseguito.
- UI integrata nella nuova console di IIS 7.
- Tool per importare regole di rewrite definite con mod_rewrite di Apache.
Per provarlo:
Installate il file msi da uno dei link riportati sotto ( per piattaforma x86 e x64):
Ora aprite la console di IIS 7 (io sto usando Vista SP1, ma potete usare anche Windows Server 2008) e troverete una nuova opzione
Premendo add Rule nella scherma successiva potete ora creare una nuova regola , con le modalità elencate sopra
A questo link trovate un tutorial che vi guiderà passo-passo nella realizzazione di una semplice regola, ma dove comunque vengono messe in luce le funzionalità di questo modulo.
Potete anche vedere come realizzare una permalink per WordPress su una macchina configurata con FastCGI e WordPress.
Link utili:
Annuncio BillS IIS blog
Tutorial: Using Url Rewrite Module
Url Rewrite Module Configuration
Download x86 CTP per IIS 7.0: https://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1691
Download x64 CTP per IIS 7.0: https://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1692
Comments
Anonymous
June 04, 2008
Scusa se vado fuori tema, ma hai pensato di iscrivere il tuo blog sul bloggatore? Il sito non è il mio, ma si tratta di un planet di oltre 200 blog che trattano l'informatica. E' un progetto giovane e io lo visito giornalmente, per cui credo che il tuo blog dovrebbe esserci incluso. Il link è <a href="http://www.ilbloggatore.com">http://www.ilbloggatore.com</a> Aggiungo il blog ai miei preferiti di Internet ExplorerAnonymous
November 06, 2008
ho provato a usare il modulo url rewrite per ridirezionare le chiamate ad un web server verso un altro server. In pratica ho due siti uno che funziona su piattaforma windows + IIS ed un altro su piattaforma linux + Apache così vorrei usare IIS come reverse proxy. I due nomi di dominio puntano allo stesso IP e vorrei utilizzare i due diversi Host Header per ridirezonare le chiamate verso uno o l'altro server. Purtroppo però il sistema non funziona: la chiamata al sito su windows risponde correttamente, mentre quella al sito su linux no. Qualche suggerimento?Anonymous
November 06, 2008
Ciao Massimo per avere un rever proxy, dovrebbe basatre usare (non lo conosco bene), un componente che si chiama application request routing (ARR) che è in CTP, qui lo trovi : http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1712 e qui è descritto uno scenario tipo quello che ti serve, spero http://learn.iis.net/page.aspx/485/define-and-configure-an-application-request-routing-server-farm/. Spero ti sia d'aiutoAnonymous
March 19, 2009
ciao secondo te da un link del genere http://www.datasport.it/leggi.aspx?id=5575339 posso passare a questo? http://www.datasport.it/19/03/2009/Legadue:-i risultati-della-24.-giornataAnonymous
August 13, 2009
I due nomi di dominio puntano allo stesso IP e vorrei utilizzare i due diversi Host Header per ridirezonare le chiamate verso uno o l'altro server. Purtroppo però il sistema non funziona: la chiamata al sito su windows risponde correttamente, mentre quella al sito su linux no.Anonymous
August 14, 2009
Ciao Lance7, mi mandi una mail dal questo blog (in alto a sinistra), con qualche dettaglio in più su quello che vuoi fare e la tua configurazioneAnonymous
September 01, 2009
salve Pietro, grazie al tuo post ho deciso di usare questo modulo molto comodo da configurare e installare su iis 7 e spero di usarlo presto in produzione volendo debuggare in locale la mia web application ASP.2.0 AJAX (con VS2008-SP1 + WINXP-PRO-X86) come posso agganciare il modulo in modo tale che da WEB.COFIG mia sia riconosciuta la configurazione degli alias impostata (<rewrite>.. ecc.. </rewrite>) ciao e grazie ancoraAnonymous
September 01, 2009
Bene. Il modulo di url rewriter funziona con IIS 7 e non con il developer server di VS. Quindi devi creare il progetto su IIS e non come progetto su file system. -pietro