ASP.NET URL Přepisování

hlasů
30

Jak mohu přepsat URL v ASP.NET?

Chtěl bych, aby uživatelé mohli goto http://www.website.com/users/smith místo http://www.website.com/?user=smith

Položena 05/08/2008 v 14:14
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
23

Zkuste Managed Fusion Url vypalovačku a reverzní proxy:

http://urlrewriter.codeplex.com

Pravidlo pro přepisování by to bylo:

# 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]
Odpovězeno 05/08/2008 v 14:18
zdroj uživatelem

hlasů
20

Scott Guthrie popisuje, jak to provést nativně v .Net poměrně rozsáhle zde .

Použil jsem přístup HttpModule a funguje to dobře. Je to v podstatě to, co ManagedFusion dělá pro vás.

Odpovězeno 05/08/2008 v 14:28
zdroj uživatelem

hlasů
5

Microsoft je nyní k dispozici oficiální přepisování URL modul pro IIS: http://www.iis.net/download/urlrewrite

To podporuje většinu typů přepisování včetně nastavení proměnných serveru a zástupné znaky.

Rovněž bude existovat na všech Azure webových případech po vybalení z krabice.

Odpovězeno 01/10/2010 v 12:52
zdroj uživatelem

hlasů
4

Použil jsem k modulu HTTP pro přepisování URL z www.urlrewriting.net s velkým úspěchem (i když věřím, že mnohem dříve, jednodušší verze)

Pokud máte velmi málo skutečných prepisovacími pak url mapování zabudované do .NET 2.0 pravděpodobně jednodušší možnost, existuje několik zápisu záběry nich na webu se 4guysfromrolla jedno se zdá být poměrně vyčerpávající, ale jak můžete vidět, že ne podpora regulárních výrazů mapování jsou jsou jako takové vykreslen docela k ničemu v dynamickém prostředí (za předpokladu, „smith“ v příkladu není zvláštní případ, pak to bude k ničemu)

Odpovězeno 11/08/2008 v 14:44
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more