所以目前当用户加载不存在的页面或出现问题时 - 我使用PHP中的header
将用户重定向到404页面:
header('Location: www.website.com/404'); //This is simplified intentionally
此页面显示404图标,其中包含返回主页的链接以及其他一些信息
最近在Google网站管理员工具中,我收到了一些消息,我没有正确返回404页面。
显示404页面时,我应该返回http_response_code
吗?或者我应该以不同的方式处理404?
答案 0 :(得分:2)
您可以使用此...您需要在根文件夹上创建.htaccess
<强>的.htaccess 强>
Redirect 301 /index.html http://example.com/newdirectory/
答案 1 :(得分:1)
任何互联网抓取工具/蜘蛛或工具都有404状态代码未找到,因此您最好输出状态代码,以便知道该页面是什么
你可以通过输出像这样的原始标题来做到这一点
<?php
if(!authorized){
header("HTTP/1.0 404 Not Found");
header("Location: http://www.website.com/404");
}
echo "*OUTPUT*";
?>
但仅此一项会导致安全问题,因为其余页面输出正在输出并仍在执行:
$ curl http://localhost/stackoverflow/404.php
*OUTPUT*
所以你应该在重定向后退出,所以代码将是这样的:
<?php
if(!authorized){
header("HTTP/1.0 404 Not Found");
header("Location: http://www.website.com/404");
exit;
}
echo "*OUTPUT*";
?>
现在它将在重定向
后停止执行$ curl http://localhost/stackoverflow/404.php
$
为了更安全,请使用htaccess。
答案 2 :(得分:0)
htaccess 404错误代码
设置完404页面后,您只需向此页面发送错误网址的访问者即可。要执行此操作,只需将以下行添加到.htaccess文件中:
ErrorDocument 404 /404.php
通常,.htaccess文件位于服务器上的home root public_html文件夹中。例如,如果您从public_html中的特定文件夹中运行您的站点或博客,则可以更改。
或者,您可以将404错误模板放在文件夹中的任何位置。例如,您可以将所有错误消息放在名为errormessages的文件夹中,将404错误引用到页面的URL。
ErrorDocument 404 /errormessages/404.php
这就是它的全部内容。
现在,当访问者在您的网站上查看不正确的网址时,他们会看到您的自定义404错误消息。其解释很清楚here.