在MVC网站上获取404错误

我有一个IIS7.5的网站,在Windows Server 2008,与ASP.NET MVC2的网站部署到它。 该网站是在Visual Studio 2008中构build的,面向.NET 3.5,并且IIS 5.1已经成功configuration为运行它,以进行本地testing。

我们已经安装了世界上最简单的MVC应用程序(在Visual Studio中创build一个新的MVC2项目时创build的应用程序),并且我们正在尝试访问任何页面上的404s,例如<my_server>/Home/About将生成404。

我也在StackOverflow上问过这个问题,但是之前我知道这是一个服务器问题。

我检查了以下几点:

  • IIS日志中有404个条目,对应于每个请求。
  • 网站的应用程序池被设置为使用集成pipe道。
  • “customErrors”模式设置为closures。
  • .NET 3.5 SP1已安装
  • ASP.NET MVC 2已安装
  • 我已经使用MVC诊断来确认所有的MVC DLL正在被发现。
  • ASP.NET在IIS中启用,我们已经通过运行MVC诊断页面进行了演示。
  • KB 2023146确实突出了HTTPredirect已closures,所以我们已经打开了它,但没有喜悦。

任何想法将不胜感激!

有人提出,运行它可能会导致Windows Server 2008是64位的问题 – 有没有人知道这件事?

首先要确认的是已经应用了无扩展名的URL修补程序: http : //support.microsoft.com/kb/980368 。

这应该做的伎俩,但如果没有,一个简单的test.aspx页面正常工作?

无论是32位还是64位都不会对ASP.NET MVC有所作为。 两者都完全支持。

我们通过导出一个工作服务器的IISconfiguration,并将其与我们的比较,最终确定了这个问题。

这是一个非常模糊的设置已经从默认改变。

IIS ROOT→请求过滤→文件名扩展选项卡→编辑function设置→允许未列出的文件扩展名

这应该打勾。

这可以设置在IIS级别或站点级别。