好的,所以我在http://dev.myapplication.com本地开发我的应用程序(使用DNS的主机文件),然后我有http://test.myapplication.com和http://www.myapplication.com。
在IIS 7(相同版本,开发测试和实时)中,我打开了“错误页面”并编辑了404状态代码以转到路径'/en/404.mvc'。这在本地工作,我可以导航到生成404页面的http://dev.myapplication.com/non-existent-url.mvc。
但是,如果我导航到http://dev.myapplication.com/non-existent-url(即静态地址),它会显示IIS 404页面并说它是由静态文件处理程序而不是我的mvc文件处理程序处理的。
我很困惑为什么会发生这种情况,因为它已经成功修改了我的web.config,这反过来允许它在测试和实时工作,而不是在本地。即http://www.myapplication.com/404将显示我自定义的404页面
答案 0 :(得分:0)
您需要通配符映射才能通过aspnet_isapi运行所有请求 - 本文很好地解释了它:http://www.asp.net/mvc/tutorials/older-versions/deployment/using-asp-net-mvc-with-different-versions-of-iis-cs
另外,请检查您的网站.Config具有以下设置:
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>