Domanda

Come posso riscrivere gli URL in ASP.NET?

Vorrei che gli utenti potessero andare a http://www.website.com/users/smith invece di http://www.sitoweb.com/?utente=smith

È stato utile?

Soluzione

Prova il Managed Fusion Url Rewriter e il Reverse Proxy:

http://urlrewriter.codeplex.com

La regola per riscriverlo sarebbe:

# clean up old rules and forward to new URL
RewriteRule ^/?user=(.*)  /users/$1 [NC,R=301]

# rewrite the rule internally
RewriteRule ^/users/(.*)  /?user=$1 [NC,L]

Altri suggerimenti

Microsoft ora fornisce un modulo ufficiale di riscrittura degli URL per IIS: http://www.iis.net/download/urlrewrite

Supporta la maggior parte dei tipi di riscrittura, inclusa l'impostazione di variabili del server e caratteri jolly.

Sarà inoltre disponibile immediatamente in tutte le istanze Web di Azure.

Ho utilizzato un modulo http per la riscrittura degli URL da www.urlrewriting.net con grande successo (anche se credo ad una versione molto precedente e più semplice)

Se disponi di pochissime regole di riscrittura effettive, le mappature URL integrate in .NET 2.0 sono probabilmente un'opzione più semplice, ci sono alcuni resoconti di questi sul Web, il 4ragazzidiRolla uno sembra abbastanza esaustivo ma come puoi vedere non supportano i mapping delle espressioni regolari e sono come tali resi abbastanza inutili in un ambiente dinamico (supponendo che "smith" nel tuo esempio non sia un caso speciale, allora questi sarebbero inutili)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top