【问题标题】:Custom Errors not Forwarding on ASP.NET MVC Site未在 ASP.NET MVC 站点上转发的自定义错误
【发布时间】:2010-12-19 03:24:57
【问题描述】:

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

在我的开发盒上它可以工作,在主机上它不能。

有什么想法吗? ASP.NET MVC 1.0、SQL 2005、IIS 6 主机(是的,我希望它是 IIS7 - 但他们想向我收取移动站点的费用)。

提前致谢!

【问题讨论】:

    标签: asp.net-mvc deployment hosting http-status-code-404 custom-error-pages


    【解决方案1】:

    CustomErrors 只会针对实际分配给 .NET 处理的文件触发。在您本地的 Visual Studio 中,这涵盖了所有内容,但在 IIS6 中,它仅涵盖与 .NET 直接相关的文件(.aspx、.ashx、.asmx 等)。这意味着,如果您希望它用于所有内容,则必须添加一个 ISAPI 过滤器来绑定所有要由 .NET 处理的文件,这会带来开销,并且如果您定义了任何全局处理程序或 HttpModules,可能会导致一些意外行为。

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

    您是否考虑过将其放入 IIS6 configuration 而不是 .NET?这可能比尝试在 IIS6 中使用来自 .NET 的 CustomErrors 更简单。

    作为旁注,IIS7 集成管道模式不存在这些问题,默认情况下所有文件都由 .NET 处理。

    【讨论】:

    • 我担心你会这么说...我将通过设置一个基于 404 文件的错误页面来解决它,该页面重定向到我的 MVC 错误页面,并在控制面板中设置配置.有点迂回,但应该工作。谢谢!
    【解决方案2】:

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

    【讨论】:

    • 谢谢,我很确定这就是 fyjham 所描述的。
    猜你喜欢
    • 1970-01-01
    • 2013-01-10
    • 2010-10-20
    • 2013-08-28
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 2011-01-10
    • 2012-07-12
    相关资源
    最近更新 更多