Przepisywanie URL ASP.NET

głosy
30

Jak mogę przepisać URL w ASP.NET?

Chciałbym użytkownikom, aby móc goto http://www.website.com/users/smith zamiast http://www.website.com/?user=smith

Utwórz 05/08/2008 o 14:14
źródło użytkownik
W innych językach...                            


4 odpowiedzi

głosy
23

Spróbuj Zarządzane Fusion Url nagrywarka i reverse proxy:

http://urlrewriter.codeplex.com

Reguła dla przepisanie to byłoby:

# 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]
Odpowiedział 05/08/2008 o 14:18
źródło użytkownik

głosy
20

Scott Guthrie obejmuje, jak to zrobić w .NET natywnie dość obszernie tutaj .

Użyłem podejście HttpModule i to działa dobrze. Jest to w zasadzie co ManagedFusion robi dla Ciebie.

Odpowiedział 05/08/2008 o 14:28
źródło użytkownik

głosy
5

Microsoft teraz statki oficjalną Przepisywanie URL moduł dla IIS: http://www.iis.net/download/urlrewrite

Obsługuje większość typów przepisywanie tym ustawienie zmiennych serwera i symbole wieloznaczne.

To również będzie istnieć na wszystkich Azure przypadkach internetowych po wyjęciu z pudełka.

Odpowiedział 01/10/2010 o 12:52
źródło użytkownik

głosy
4

Użyłem HttpModule za przepisywanie URL z www.urlrewriting.net z wielkim sukcesem (choć wierzę, dużo wcześniej, prostszą wersję)

Jeśli masz bardzo mało rzeczywiste zasady przepisywania następnie url mapowania wbudowane w .NET 2.0 są prawdopodobnie łatwiejsze opcja, istnieje kilka ups pisać o nich w sieci web, 4guysfromrolla jeden wydaje się dość wyczerpująca, ale jak widać nie robić wsparcia regularne odwzorowania ekspresji są renderowane jako takie są dość bezużyteczny w dynamicznym środowisku (zakładając, że „Kowalski” w przykładzie nie jest to szczególny przypadek wówczas byłyby one bezużyteczne)

Odpowiedział 11/08/2008 o 14:44
źródło użytkownik

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