【问题标题】:Redirect 404 or just 404 header重定向 404 或仅 404 标头
【发布时间】:2012-03-14 19:51:34
【问题描述】:

我目前正在编写一个网站,我想知道最好的替代方案。

我应该在不重定向的情况下添加header("HTTP/1.0 404 Not Found"),还是应该重定向并添加404标头?

【问题讨论】:

  • 如果页面没有找到,你会重定向到哪里?
  • 我不明白。 404 未找到,因此服务器会自动返回,或者应该返回。您可以自定义它提供的页面,但服务器本身应该发送标头。

标签: php http-status-code-404


【解决方案1】:
header("Status: 404 Not Found"); //FastCGI
include("404.php");
exit;

URI 仍然是用户询问的。

【讨论】:

    【解决方案2】:

    重定向的意思是“你要求的其实就在这里”。

    如果未找到,则未找到。不要重定向。

    输出一个 404 状态码,然后是一个 HTML 文档,说明没有找到所请求的任何内容。然后,您可以通过例如提供指向网站主要部分的链接或根据从 URL 中提取的关键字执行搜索来建议后续旅程。

    (重定向的实际后果是 URL 从地址栏中消失,这使得很难看到“哦,我打错了一个字母,我就改一下”或将其复制/粘贴到错误报告等)。

    【讨论】:

    • 但是只要您发送的是 404 状态而不是 301 或其他任何状态,您就可以显示自定义 404 页面而不会丢失您的纯度徽章
    【解决方案3】:

    您应该重定向到错误页面,但请确保将状态设置为 404。错误页面可以为用户提供继续操作的工具,例如站点地图、搜索、他们尝试加载的内容的说明等等措辞,例如“很抱歉,找不到您请求的页面。”

    更好的是,将您的 404 页面设置为脚本并使用它来记录错误,以便您了解常见错误并进行修复。它也可以成为你的工具。

    【讨论】:

      猜你喜欢
      • 2011-12-08
      • 2012-04-23
      • 1970-01-01
      • 2016-07-03
      • 2011-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-15
      相关资源
      最近更新 更多