2013-12-13 3 views
-1

Я хотел знать, есть ли способ имитировать ошибку 404 в PHP. Например, у меня есть этот URL: www.mydomain.com/user/[Username], который перенаправляется на /profile.php?user=[username]. Я хочу, чтобы сервер показывал мою страницу 404 Error, если имя пользователя не зарегистрировано.Как создать ошибку 404 в PHP?

[PHP] Здесь приведен пример кода:

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

Спасибо заранее.

+0

Это ошибка 401. Я не знаю, как это сделать с помощью 404 .. –

+0

Вы помещаете сообщение об ошибке 404 вместо 401! – Quentin

+0

Не работает. Header ('404 Not Found'); –

ответ

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

+0

Не работает для меня .. –

+0

Что означает 'Не работает'? – hek2mgl

+0

Я пробовал первый вариант, и ничего не случилось. Итак, вы имеете в виду, что мне нужно включить мою страницу ошибок 404 вручную? –

Смежные вопросы