我想知道是否有办法在PHP中模拟404错误。例如,我有以下网址:www.mydomain.com/user/[Username]
,重定向到/profile.php?user=[username]。如果用户名未注册,我希望服务器显示我的404错误页面。
[PHP] 这是一些示例代码:
<?
if (notRegistered($_GET['user'])) {
// Throw 404 Error
}
?>
提前致谢。
答案 0 :(得分:4)
HTTP通过标头报告状态代码。使用PHP中的header()
函数设置状态代码:
if (notRegistered($_GET['user'])) {
header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');
exit(1);
}
此外,您可能希望向浏览器发送错误页面:
if (notRegistered($_GET['user'])) {
header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');
readfile('path/to/error404.html');
exit(1);
}
$_SERVER\['SERVER_PROTOCOL'\]
将包含HTTP/1.0
或HTTP/1.1
。