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

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

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

5.08.2008 13:14:48
Скотт Гатри охватывает как сделать это изначально в .NET довольно широко здесь . Я использовал подход httpmodule, и он работает хорошо. Это в основном то, что ManagedFusion делает для вас.
brendan 5.08.2008 13:28:32
Для шаг за шагом объяснение следуйте приведенным ниже ссылке: challadotnetfaq.blogspot.com/2011/08/...
user876586 3.08.2011 12:26:13
3 ОТВЕТА
РЕШЕНИЕ

Попробуйте Managed Fusion Url Rewriter и обратный прокси-сервер:

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]
25
27.04.2010 02:19:27
Предложение: я бы настроил первый RewriteRule так, чтобы он выглядел как ^ /?
Dscoduc 6.02.2009 17:13:32
Это хорошая идея и полностью поддерживается в этой версии .NET. Первоначальная цель состояла в том, чтобы сделать мой пример совместимым с mod_rewrite, который не поддерживает этот синтаксис.
Nick Berardi 26.05.2009 16:14:42

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

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

4
11.08.2008 13:44:59

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

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

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

5
1.10.2010 11:52:49
Это выглядит интересно. Знаете ли вы, будет ли он работать на IIS6 и на каком уровне в сетевом стеке он находится?
GateKiller 11.10.2010 15:06:48
Это только решение для IIS7 и выше (это модуль learn.iis.net/page.aspx/121/iis-7-modules-overview ), для IIS6 вам понадобится www.isapirewrite.com или www.urlrewriter.net, Перезапись isapi выглядит как стабильный коммерческий продукт для iis6
Sam Saffron 12.10.2010 00:23:07