我正在尝试为web.config文件编写重写规则,以便url将从中删除文件名,这意味着:
http://www.example.com/admin/Index.aspx
http://www.example.com/admin/Product.aspx
将成为:
http://www.example.com/admin/
http://www.example.com/admin/
和
http://www.example.com/Index.aspx
http://www.example.com/Product.aspx
为:
http://www.example.com/
http://www.example.com/Product/
尝试了在线发现的几个代码,但所有代码都给了我内部错误。
提前致谢!
答案 0 :(得分:4)
我已经使用开源UrlRewriter在许多项目中执行此操作,它运行良好
为了使其工作,您必须将其添加到您的web.config文件中,如下所示:
<httpModules>
<add type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" name="UrlRewriter" />
</httpModules>
并添加一个路由部分,它们有很好的文档,但基本上你提供了重写规则,看起来像这样:
<rewriter>
<rewrite url="~/([a-zA-Z0-9]+)$" to="~/$1.aspx" />
</rewriter>
将UrlRewriter dll文件添加到您的bin中,并将IIS设置为处理通配符:
你完成了:)
对于WebForms项目来说,这是一个非常好的解决方案,但要确保测试得很好,并确认GoogleBot仍然可以访问您的网站。
答案 1 :(得分:0)
我不确定你是否拥有它但是有了IIS7,你可以安装一个模块,你可以设置url重写规则。它会将适当的规则添加到您网站的web.config
微软的Scott Guthrie的指南可能有所帮助 - http://weblogs.asp.net/scottgu/archive/2010/04/20/tip-trick-fix-common-seo-problems-using-the-url-rewrite-extension.aspx