【问题标题】:ASP.NET page with status code 404状态码为 404 的 ASP.NET 页面
【发布时间】:2011-08-01 10:47:44
【问题描述】:

大家! 我遇到了 asp.net 错误异常的问题。 我正在开发房地产网络应用程序,谷歌已经为房地产链接建立了索引。但是经过一段时间后,数据库中不再存在几个房地产。 下一个问题是:如果用户单击房地产链接,该链接在 db 中不再存在, 我需要返回带有状态码 404 的客户错误页面。

我尝试用下一个方法做到这一点:

  1. 在处理 url 我检查是否这样 房地产存在
  2. 如果不是我扔 我自己的RealEstateDontExistException
  3. 在 Global.asax 中处理错误 服务器的我检查这个错误是否是 RealEstateDontExistException 的类型 那么
  4. 我设置:
响应状态代码 = 404; Server.CleanError(); Server.Transfer("~/ErrorPage.aspx");

我需要显示带有状态码 404 的 aspx 页面。 在本地主机上它工作正常。但是如果我尝试从生产服务器获取不存在的不动产,那么网络浏览器会显示下一个文本

“您要查找的资源已被删除、名称已更改或暂时不可用。” 状态码为 404。

有人可以帮助我吗?谢谢。

【问题讨论】:

  • 您确认服务器上存在ErrorPage.aspx 吗?

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


【解决方案1】:

您的生产网络服务器似乎显示了自己的错误页面。请配置它 (IIS) 以在 404 错误上显示自定义错误页面 - 请参阅 this article 了解如何在 IIS7(和 this for IIS 6.0)上执行此操作。

【讨论】:

    【解决方案2】:

    也许您的 ErrorPage 对于 Internet Explorer 中的 HTTP 404 来说太小(应该超过 10 行)。

    看看这些资源:

    这是 IE 用来确定最小大小的注册表项:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\ErrorThresholds
    

    【讨论】:

      猜你喜欢
      • 2021-06-09
      • 2015-05-19
      • 1970-01-01
      • 2011-05-17
      • 2011-11-22
      • 2014-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多