2013-12-13 54 views
-1

我想知道是否有方法来模拟PHP中的404错误。例如,我有这个URL:www.mydomain.com/user/[Username],它重定向到/profile.php?user=[username]。如果用户名未注册,我希望服务器显示我的404错误页面。如何在PHP中生成404错误?

[PHP]这一些示例代码:

<? 
    if (notRegistered($_GET['user'])) { 
     // Throw 404 Error 
    } 
?> 

预先感谢。

+0

这是401错误。我不知道如何做到这一点与404 .. –

+0

你把404错误信息,而不是401一个! – Quentin

+0

没有工作..标题('404未找到'); –

回答

4

HTTP通过标头报告状态码。使用header()功能在PHP中设置状态代码:

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.0HTTP/1.1

+0

不适合我.. –

+0

什么'不工作'是什么意思? – hek2mgl

+0

我试过了第一个选项,并没有发生任何事情。所以,你的意思是我必须手动包含我的404错误页面? –