【问题标题】:IIS6 - Why won't my Custom error page display?IIS6 - 为什么我的自定义错误页面不显示?
【发布时间】:2011-04-21 18:34:32
【问题描述】:

我有一个自定义错误页面,应该显示 HTTP 404 错误。它没有,我很难弄清楚为什么。

我的 web.config 已设置

<customErrors mode="On" />

Fiddler 显示 401.2,然后是单个 POST 的 404。这两个错误都应该是自定义的。 401.2 正在工作,因为我在提琴手中看到了它。 404 之后立即发生,所以我在浏览器中看到的只是一般的 404 错误。我应该会看到我的自定义 404 页面。

为什么我的自定义 HTTP 404 页面不显示?

【问题讨论】:

  • 什么是 404.2?从未听说过它,或任何类型的任何 404.x。

标签: asp.net http iis-6 fiddler


【解决方案1】:

您要测试的 URL 是什么?如果它不是由 ASP.NET 处理的文件类型(例如 /foo/bar.txt),那么您将看不到 ASP.NET 定义的 404 处理程序。

-奥辛

【讨论】:

  • 自定义页面设置为“URL”类型,页面为“/NotFound.html”。我会尝试用 aspx 页面替换它。
  • 我不认为你在关注我。您可以在 web.config 中分配一个自定义 404 处理程序,也可以在 IIS 中分配一个。仅当有人尝试访问不存在的 asp.net 页面 (/foo.aspx) 时才会调用 web.config 处理程序 - 其他所有情况都会调用 IIS 处理程序。
  • 我想我现在关注你了。我要去mysite/foo.html。我在 web.config 中没有设置任何特殊的处理程序。它们仅按照我的第一条评论中的描述设置为 IIS。我还看到“无法从当前应用程序池执行特定请求”。我做的一些小修补程序一定利用了这一点。尝试在 blogs.msdn.com/b/rakkimk/archive/2006/09/01/735684.aspx 上修复注册表。没用。
  • 好的,这几乎解决了问题。我要做的最后一件事是禁用 IE 中的“显示友好错误”选项。谢谢@x0n
  • 您可以通过在响应正文中返回超过 512 个字符来避免 IE 友好错误页面限制。
【解决方案2】:

如果您正在寻找 404.x 代码的含义,这就是这个

HTTP 404.x-File or Directory Not Found

  • 无 - 未找到文件或目录。
  • 1 - 在请求的端口上无法访问网站。
  • 2 - Web 服务扩展锁定策略阻止此请求。
  • 3 - MIME 映射策略阻止此请求。

似乎是 IIS 特定的代码,不确定 IIS 是否将这些详细信息与响应一起发送

【讨论】:

  • 不,也许我的问题不够清楚。我会更新的。
  • IIS 仅在响应正文中提供“子状态”;实际更改响应状态行中的响应代码是不合法的(根据标准)。
猜你喜欢
  • 1970-01-01
  • 2011-01-10
  • 2013-09-12
  • 1970-01-01
  • 2020-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多