【问题标题】:asp.net mvc 404 code errorasp.net mvc 404 代码错误
【发布时间】:2012-12-08 07:31:32
【问题描述】:

我在 asp.net mvc 有项目。还有一个我不知道如何解决的问题: 我在 web.config 错误处理中添加,没关系,但它返回了

HTTP/1.1 302 Found
Content-Length: 157
Location: /Error404.html?aspxerrorpath=/fghdhdfghg

这是错误的,我需要 HTTP/1.1 404 Not Found。我在

测试过

that site

你知道如何为我的 error404.html 页面设置错误代码吗?我已经尝试过硬编码的 html 页面和 MVC 操作。

【问题讨论】:

  • 您是否尝试过禁用自定义错误处理?
  • 但我需要为该页面定制设计

标签: asp.net-mvc http-status-code-404


【解决方案1】:

您可以设置Response.StatusCode = 404,也可以从控制器返回HttpNotFoundResult

【讨论】:

  • 该方法是否允许对该页面使用自定义设计?我得到了测试仪 HTTP/1.1 404 Not Found,但它具有默认的 asp.net 设计link
  • 是的,如果您在返回视图之前在控制器中设置了 StatusCode:
  • 谢谢。但它也应该设置为Response.TrySkipIisCustomErrors = true; Works now.
【解决方案2】:

您收到 302(对象已移动)是因为您在配置中明确请求了这一点,告诉它在 404 错误的情况下使用备用页面。您的另一种选择是让 Web 服务器发回 404 错误,但您没有机会连同它一起发送 html 内容(大概是您重定向的全部原因)。

【讨论】:

    【解决方案3】:

    302 不是错误。它是“临时移动”的 HTTP 状态代码,它告诉 Web 浏览器/搜索引擎它应该继续使用它最初使用的 URL。

    在使用 mod_rewrite、PHP 的 header() 和其他此类 URL 更改方案时,302 重定向很常见。您的网络服务器中是否启用了缓存..???

    【讨论】:

      猜你喜欢
      • 2014-01-04
      • 1970-01-01
      • 1970-01-01
      • 2016-07-30
      • 2011-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-26
      相关资源
      最近更新 更多