在 MVC 网站上获取 404 错误

在 MVC 网站上获取 404 错误

我在 Windows Server 2008 上有一个 IIS7.5 网站,上面部署了一个 ASP.NET MVC2 网站。该网站是在 Visual Studio 2008 中构建的,目标是 .NET 3.5,并且已成功配置 IIS 5.1 以运行该网站,以进行本地测试。

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

我问过这个问题堆栈溢出也是如此,但那是在我知道这是服务器问题之前。

我已检查了以下事项:

  • IIS 日志中有 404 个条目,与每个请求相对应。
  • 该网站的应用程序池设置为使用集成管道。
  • “customErrors”模式设置为关闭。
  • 已安装 .NET 3.5 SP1
  • 已安装 ASP.NET MVC 2
  • 我已经使用 MVC Diagnostics 来确认已找到所有 MVC DLL。
  • ASP.NET 在 IIS 中启用,我们通过运行 MVC 诊断页面进行了演示。
  • KB 2023146 确实强调了 HTTP 重定向已关闭,因此我们将其打开,但没有效果。

任何想法都将不胜感激!

有人确实指出,由于 Windows Server 2008 是 64 位,因此运行它可能会遇到问题 - 有人知道这件事吗?

答案1

我们最终通过导出工作服务器的 IIS 配置并将其与我们的配置进行比较来解决了这个问题。

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

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

此项应被勾选。

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

答案2

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

这应该可以解决问题,但如果不行,那么简单的 test.aspx 页面可以正常工作吗?

对于 ASP.NET MVC 来说,32 位还是 64 位都没有区别。两者都完全支持。

相关内容