Partager via


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):

image

Ora aprite la console di IIS 7 (io sto usando Vista SP1, ma potete usare anche Windows Server 2008) e troverete una nuova opzione

image

Premendo add Rule nella scherma successiva potete ora creare una nuova regola , con le modalità elencate sopra

image 

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.

 

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 Explorer

  • Anonymous
    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'aiuto

  • Anonymous
    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.-giornata

  • Anonymous
    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 configurazione

  • Anonymous
    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 ancora

  • Anonymous
    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