在PHP中有没有找到404找不到的方法?
如果用户在404上结束,我希望将它们重定向到已知页面,但如果是由于404错误则显示不同的内容。
像
这样的东西if($_SERVER['HTTP_REFERER'] == 404){
echo("You've been redirected!");
}
提前致谢
答案 0 :(得分:3)
PHP仅提供引导您访问当前页面的页面的路径,它无法检索该页面的状态代码。
当指定的页面不存在时,您不需要重定向页面。在Apache中,您可以将ErrorDocument指定为PHP文件,只需将查询字符串附加到文件(例如ErrorDocument /index.php?error=404
),以便您的PHP文件知道所请求的页面不存在。这样,您可以在同一页面上直接向用户显示错误,并且URL不会丢失。您不需要会话或服务器变量,只需$_GET['error']
来检查是否有错误代码提供给页面。
或者,您可以指定一个仅为404错误页面的预构建文档,例如ErrorDocument my404error.html
,该页面将显示,而不会对未找到的页面进行任何服务器端处理。