0

在我的网站上,断开的链接会引发默认的页面未找到错误。在web.config中,我打开了CustomErrors并将404错误转发到自定义消息。自定义错误不在ASP.NET MVC站点上转发

在我的开发盒上它工作,在主机上它没有。

任何想法? ASP.NET MVC 1.0,SQL 2005,IIS 6主机(雅,我希望它是IIS7 - 但他们要收取我的移动网站)。

在此先感谢!

回答

1

CustomErrors只会触发.NET实际分配给它处理的文件。在你的本地Visual Studio中,这涵盖了所有内容,但是在IIS6中它只涵盖了实际上与.NET直接相关的文件(.aspx,.ashx,.asmx等)。这意味着如果你想要它的所有东西,你必须添加一个ISAPI过滤器来绑定所有由.NET处理的文件,如果你有任何全局处理器或HttpModules定义的话,会带来一些额外的行为。

This page将帮助您配置通配符绑定,如果这就是你想要去的道路

你有没有考虑把它在IIS6 configuration,而不是.NET?这可能比尝试在IIS6中使用.NET中的CustomErrors更简单。

作为旁注IIS7集成管道模式没有这些问题,所有文件默认由.NET处理。

+0

我担心你会说...我将通过设置一个404文件错误页面来重定向到我的MVC错误页面,并在控制面板中设置配置。有点迂回,但应该工作。谢谢! – Chaddeus 2009-11-22 02:54:09

1

有可能machine.conf设置覆盖您的web.config设置。 您是否已联系您的主机并询问他们是否覆盖CustomErrors标记?

+0

谢谢,我很确定这是fyjham所描述的。 – Chaddeus 2009-11-22 02:55:10