除了ASP.NET MVC APP中的主页之外的所有内容都会收到404错误

时间:2009-08-10 13:42:01

标签: asp.net-mvc iis-6

我对我来说似乎是一个奇怪的问题。我正在创建一个ASP.NET MVC项目,当我使用“Visual Studio开发服务器”加载网站时,一切都按预期工作。但是,如果我将项目属性更改为“使用本地IIS Web服务器”并加载该站点,则只有主页可用。如果我尝试加载任何其他页面,我会收到404错误。该应用程序在Windows Server 2003和IIS 6上运行。

非常感谢有关如何解决此问题的任何建议。

4 个答案:

答案 0 :(得分:4)

一点也不奇怪。您需要设置IIS6以将请求路由到ASP.NET引擎。

史蒂夫桑德森有一篇很好的文章讨论deploying ASP.NET MVC to IIS 6上的不同选项。

他提出了五种替代解决方案 - 选择一种:

  1. 使用aspnet_isapi.dll的通配符映射
  2. 将.aspx放入所有路径条目的网址格式
  3. 在所有网址格式中使用自定义文件扩展名
  4. 使用网址重写
  5. 升级到Windows Server 2008和IIS 7

答案 1 :(得分:2)

需要设置IIS6才能使用MVC:

你应该将映射到“c:\ windows \ microsoft.net \ framework \ v2.0.50727 \ aspnet_isapi.dll”

ASP.NET MVC on IIS 6 Walkthrough

答案 2 :(得分:0)

听起来您还没有配置通配符映射(如果您有权访问IIS服务器,则是最佳选择)。这是一个good guide供您跟踪。

答案 3 :(得分:0)

Url重写可以帮助您解决问题。我已经实现了允许在任何IIS版本上部署MVC应用程序的解决方案,即使使用虚拟主机也是如此。 http://www.codeproject.com/KB/aspnet/iis-aspnet-url-rewriting.aspx