【问题标题】:Custom 404 not displaying on aspx pages自定义 404 未显示在 aspx 页面上
【发布时间】:2018-08-05 09:25:23
【问题描述】:

我已经设置了一个自定义 404 页面,它适用于除 aspx 之外的所有扩展。 他们转到服务器通用 404 页面。

这是我的代码...

<httpErrors errorMode="Custom">
  <remove statusCode="404" subStatusCode="-1" />
  <error statusCode="404" prefixLanguageFilePath="" path="/errors/404.aspx" responseMode="ExecuteURL" />
</httpErrors>

如果我将 existingResponse="Replace" 添加到打开的 httpErrors 标记中,则会显示自定义 404 页面,但它会放置在通用 404 输出下方。

有没有办法摆脱在这些 aspx 页面上我的自定义 404 输出上方显示的通用 404 输出?

【问题讨论】:

    标签: asp.net iis web-config http-status-code-404


    【解决方案1】:

    您是否也尝试过在 system.web 中添加 customErrors 元素?

    <system.web>
        <customErrors mode="On" redirectMode="ResponseRewrite">
            <error statusCode="404" redirect="/errors/404.aspx"/>
        </customErrors>
    </system.web>
    

    这里有一些 discussion 关于自定义错误和 httpErrors 之间的区别。

    【讨论】:

    • 我试过了,这反而给了我 500 错误。除了使用我的代码之外,我还尝试了这一点,而没有
    • 500 错误意味着您可能有重复的部分。如果您已经拥有system.web,则只需在现有部分中插入customErrors。或者,如果您已经有 customErrors,则需要替换为这些行。
    • 我就是这么做的。我刚刚将您的 customErrors 代码放在我的 system.web 部分中。我用你的替换了我原来的 customErrors。
    • 也许尝试移除部件,直到错误消失,看看是什么原因造成的。例如。首先删除错误行,然后是重定向模式等。您的目标是什么 .NET 版本?
    猜你喜欢
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 2019-09-14
    相关资源
    最近更新 更多