我正在编写一个网站,我想知道最好的选择。
我应该在不重定向的情况下添加header("HTTP/1.0 404 Not Found")
,还是应该重定向并添加404标头?
答案 0 :(得分:10)
重定向意味着“你要求的实际上是在这里”。
如果找不到,则找不到。不要重定向。
输出404状态代码,然后输出一个HTML文档,说明未找到所请求的内容。然后,您可以通过提供指向网站主要部分的链接或根据从网址中提取的关键字执行搜索来建议前进之旅。
(重定向的实际后果是,URL从地址栏消失,这使得很难看到一个想法“哦,我错误地输入了一个字母,我只是改变它”或者将其复制/粘贴到错误报告等。)
答案 1 :(得分:5)
header("Status: 404 Not Found"); //FastCGI
include("404.php");
exit;
URI仍然是用户问的。
答案 2 :(得分:2)
您应该重定向到错误页面,但请确保将状态设置为404.错误页面可以为用户提供继续工具,例如站点地图,搜索,他们尝试加载的内容的解释,以及一些verbiage,例如“我们很抱歉,但找不到您请求的页面。”
更好的是,将您的404页面设为脚本并使用它来记录错误,以便您可以了解常见的并修复它们。它也可以成为你的工具。