繁体   English   中英

ASP.NET URL 重写

[英]ASP.NET URL Rewriting

如何在 ASP.NET 中重写 URL?

我希望用户能够访问

http://www.website.com/users/smith

代替

http://www.website.com/?user=smith

尝试托管 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]

微软现在为 IIS 提供了一个官方的 URL 重写模块: http : //www.iis.net/download/urlrewrite

它支持大多数类型的重写,包括设置服务器变量和通配符。

它也将立即存在于所有 Azure Web 实例中。

我使用 httpmodule 从www.urlrewriting.net重写 url 并取得了巨大成功(尽管我相信这是一个更早、更简单的版本)

如果您的实际重写规则很少,那么 .NET 2.0 中内置的 url 映射可能是一个更简单的选择,网上有一些关于这些的文章, 4guysfromrolla似乎相当详尽,但正如您所见,它们没有支持正则表达式映射因此在动态环境中变得相当无用(假设您的示例中的“史密斯”不是特例,那么这些将毫无用处)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM