ASP.net帮助重写简单的URL

时间:2011-03-07 19:11:54

标签: c# url-rewriting

<rewrite url="~/Blog" to="~/Blog.aspx" processing="stop"/>

这不起作用,如果我定义一个替换文件名似乎只能工作......如何使它成为

http://www.mysite.com/Blog

转到:

http://www.mysite.com/Blog.aspx

3 个答案:

答案 0 :(得分:1)

使用IIS 6.0(Windows XP和Windows Server 2003)时,无法使用常规配置执行此操作。 IIS查找文件扩展名以路由URL,以确定请求应路由到哪个已安装的引擎(经典ASP,ASP.Net,PHP等)。如果没有扩展名,IIS会在相应的文件夹(虚拟或真实)中查找默认文档,例如default.aspx或index.htm等。

使用IIS 7,您可以使用集成模式来获取所需的行为。使用IIS 6,您仍然可以通过专门配置它来将所有URL路由到ASP.Net,无论扩展名如何。为了提高效率,您可能希望对其进行优化,以便像图像这样的静态文件不会路由到ASP.Net。如何执行此操作在此处说明:http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/5c5ae5e0-f4f9-44b0-a743-f4c3a5ff68ec.mspx?mfr=true

答案 1 :(得分:1)

考虑使用MVC路由。如果您使用的是.NET 4,那就更容易了。您所要做的就是引用System.Web.Routing,然后在global.asax文件中执行routes.MapPageRoute("Blog Route", "Blog", "~/Blog.aspx");

有用的参考资料:

答案 2 :(得分:1)