ASP.NET przepisywanie URL

Jak przepisać URL ' s W ASP.NET?

Chciałbym, aby użytkownicy mogli goto http://www.website.com/users/smith zamiast http://www.website.com/?user=smith

Author: Mark Cidade, 2008-08-05

3 answers

Wypróbuj Managed Fusion Url Rewriter i Reverse Proxy:

Http://urlrewriter.codeplex.com

Reguła przepisywania tego będzie brzmiała:

# 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]
 23
Author: Nick Berardi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-27 02:19:27

Microsoft udostępnia teraz oficjalny moduł przepisywania adresów URL dla usług IIS: http://www.iis.net/download/urlrewrite

Obsługuje większość typów przepisywania, w tym ustawianie zmiennych serwera i symboli wieloznacznych.

Będzie on również dostępny dla wszystkich wystąpień usługi Azure web po wyjęciu z pudełka.

 5
Author: Sam Saffron,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-01 11:52:49

Użyłem httpmodule do przepisywania url z www.urlrewriting.net z wielkim sukcesem (choć wierzę w znacznie wcześniejszą, prostszą wersję)

Jeśli masz bardzo mało rzeczywistych reguł przepisywania, mapowania url wbudowane w. NET 2.0 są prawdopodobnie łatwiejszą opcją, istnieje kilka zapisów z nich w internecie, 4guysfromrolla jeden wydaje się dość wyczerpujący, ale jak widać, nie obsługują mapowania wyrażeń regularnych są jako takie renderowane dość bezużyteczne w sieci. dynamiczne środowisko (zakładając ,że "smith" w twoim przykładzie nie jest przypadkiem specjalnym, wtedy nie będzie to przydatne)

 4
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-08-11 13:44:59