2012-04-11 17 views
10

È possibile utilizzare reg ex in una mappa di riscrittura? Ad esempio:IIS7 Rewrite Map Regex?

<rewriteMap name="Redirects"> 
    <add key="/blah/(.*)" value="/blah/{R:1}" /> 
</rewriteMap> 

O c'è un modo per gestire questo approccio? Attualmente, ho una regola impostata per corrispondere a tutto e quindi utilizzare la mappa di riscrittura per mappare i nuovi URL. Mi piacerebbe catturare tutto sotto una directory, ad es. file di risorse (blah) ... senza dover manualmente fare questo per tutti loro.

+0

Sono sicuro che avete già letto, ma solo in caso, non v'è un certo roba utile qui: http://learn.iis.net/page.aspx/465/url-rewrite-module -configuration-reference/ – Robbie

risposta

3

Purtroppo no, è necessario creare una regola per utilizzare le espressioni regolari.

Si noti che non esiste un modello comune evidente nelle chiavi e la loro relazione con i valori . Ciò significa che non è possibile utilizzare le espressioni regolari o i caratteri jolly per definire la logica di trasformazione dell'URL. http://www.iis.net/learn/extensions/url-rewrite-module/using-rewrite-maps-in-url-rewrite-module

+0

La citazione che citi qui è un riferimento agli esempi che ti danno in precedenza in quella pagina, quindi non credo che sia una "regex non funzionerà mai" tanto quanto "regex non funzionerà" per questo esempio ". Detto questo, non riesco a trovare alcuna informazione sul fatto che la regex funzioni "mai", poiché la documentazione per le mappe di riscrittura sembra inesistente:/ –

+0

Mi correggo: la documentazione non è inesistente, ma è non molto completo. C'è più documentazione in [URL Configuration Rewrite Module Reference] (http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference), anche se non affronta questo punto. –