Riscrittura URL ASP.NET

Translate

Come si riscrivono gli URL in ASP.NET?

Vorrei che gli utenti potessero andare a gotohttp://www.website.com/users/smithinvece dihttp://www.website.com/?user=smith

This question and all comments follow the "Attribution Required."

Tutte le risposte

Translate

Prova Managed Fusion Url Rewriter e Reverse Proxy:

http://urlrewriter.codeplex.com

La regola per riscrivere questo 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]
fonte
Translate

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

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

Esisterà anche su tutte le istanze Web di Azure immediatamente.

fonte
Ternence Lee
Translate

Ho usato un HttpModule per la riscrittura dell'URL dawww.urlrewriting.netcon grande successo (anche se credo una versione molto precedente e più semplice)

Se si hanno pochissime regole di riscrittura effettive, le mappature degli URL incorporate in .NET 2.0 sono probabilmente un'opzione più semplice, ce ne sono alcune scritte sul web, il4guysfromrollauno sembra abbastanza esaustivo ma come puoi vedere non supportano le mappature delle espressioni regolari sono come tali rese abbastanza inutili in un ambiente dinamico (supponendo che "smith" nel tuo esempio non sia un caso speciale, allora queste non sarebbero utili)

fonte