<rewrite url="~/Blog" to="~/Blog.aspx" processing="stop"/>
这是不行的,它只是似乎工作,如果我定义了一个替代的文件名,以及...我如何让这个ASP.net帮助重写简单的URL
转到:
http://www.mysite.com/Blog.aspx
<rewrite url="~/Blog" to="~/Blog.aspx" processing="stop"/>
这是不行的,它只是似乎工作,如果我定义了一个替代的文件名,以及...我如何让这个ASP.net帮助重写简单的URL
转到:
http://www.mysite.com/Blog.aspx
在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
考虑使用MVC路由。如果您使用.NET 4,则更容易。所有你需要做的是参考System.Web.Routing
,然后在Global.asax文件,你可以做routes.MapPageRoute("Blog Route", "Blog", "~/Blog.aspx");
有用的参考资料:
_See [URL在ASP.NET重写(http://msdn.microsoft.com/en-us/library/ms972974.aspx)_ –
你已经够长在这里学习如何格式化代码,特别是XML。缩进4个空格。 – Oded
查看[Scott Guthrie的帖子](http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx) –