ASP.NET URL перезаписи - PullRequest
       51

ASP.NET URL перезаписи

32 голосов
/ 05 августа 2008

Как переписать URL в ASP.NET?

Я бы хотел, чтобы пользователи могли перейти к http://www.website.com/users/smith вместо http://www.website.com/?user=smith

Ответы [ 3 ]

24 голосов
/ 05 августа 2008

Попробуйте управляемый переписчик Fusion Url и обратный прокси-сервер:

http://urlrewriter.codeplex.com

Правило для переписывания этого будет:

# 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]
5 голосов
/ 01 октября 2010

Microsoft теперь поставляет официальный модуль перезаписи URL для IIS: http://www.iis.net/download/urlrewrite

Поддерживает большинство типов перезаписи, включая настройку серверных переменных и подстановочных знаков.

Он также будет существовать во всех веб-экземплярах Azure из коробки.

4 голосов
/ 11 августа 2008

Я использовал http-модуль для перезаписи URL-адреса с www.urlrewriting.net с большим успехом (хотя я полагаю, что более ранняя, более простая версия)

Если у вас очень мало фактических правил переписывания, тогда сопоставления URL, встроенные в .NET 2.0, вероятно, являются более простым вариантом, их можно найти в Интернете, например, 4guysfromrolla , одно выглядит довольно исчерпывающим но, как вы можете видеть, они не поддерживают сопоставления регулярных выражений, поэтому они оказываются довольно бесполезными в динамической среде (если допустить, что «кузнец» в вашем примере не является особым случаем, тогда это будет бесполезно)

...