我记得在.NET 2.0第一次出现的时候,我试图在CMS中使用无扩展的URL格式。 问题是部署到IIS6服务器。 这实际上是不可能的。 我不得不以编程方式为path创build文件夹(吨文件夹),并在那里插入一个虚拟的“Default.aspx”,以获取路由到ASP.NET的请求。 当然,我讨厌这个“解决scheme”,不得不放弃使用无扩展的URL。
现在我开始使用ASP.NET MVC,我又想(需要)使用无扩展的URL。 有人可以告诉我,当我尝试将我的应用程序部署到IIS6时,是否会遇到同样的麻烦? 是否有什么特殊的要求让这种types的URL结构在IIS6中工作?
IIS 6可以使用无扩展URL,但需要在站点的应用程序configuration中设置“通配符”ISAPI映射。 这有不足之处,导致所有的请求得到处理的ASP.NET ISAPIfilter,包括像图像,JavaScript等静态文件
这里是Phil Haack关于在IIS 6上设置ASP.NET MVC的不同选项的一篇很好的博客文章 。通配符说明大概是一半。
请注意,从.NET 4.0开始不再需要通配符ISAPI映射: http : //blogs.msdn.com/b/tmarq/archive/2010/04/01/asp-net-4-0-enables-routing-of -extensionless的URL,而不会影响性静电,requests.aspx