Как я позволю PHP показать страницу ошибки по умолчанию на сервере? - PullRequest
0 голосов
/ 26 июня 2010

Если идентификатор (т. Е. Пользователь) не существует, я отправляю header("Status: 404 Not Found"); в браузер, но PHP также отправляет остальную часть страницы.Тогда я сделал это, чтобы ничего не отправлять, но затем он показал пустую белую страницу.Я хочу показать страницу ошибок по умолчанию.Как я позволю это сделать?

Ответы [ 4 ]

2 голосов
/ 26 июня 2010

вы также можете установить его через htaccess,

ErrorDocument 500 http://foo.example.com/500.php
ErrorDocument 404 /404.php
ErrorDocument 401 /401.php
ErrorDocument 403 /403.php

в зависимости от ответа http статуса

2 голосов
/ 26 июня 2010

Добавить die; также после вызова заголовка.

1 голос
/ 26 июня 2010

Я думаю, что в этом случае, если вы установите только заголовок, вы получите страницу ошибки по умолчанию вашего браузера, а не вашего веб-сервера.Проблема в том, что страница существует для веб-сервера.Так что, если вы знаете, где хранится страница ошибок вашего сервера, прочитайте ее оттуда.И убедитесь, что ваш ответ длиннее (я думаю, что это было) 512 байт, иначе браузер (особенно IE) выдаст вам свою собственную страницу с ошибкой.

1 голос
/ 26 июня 2010
header("Status: 404 Not Found");
readfile ($_SERVER['DOCUMENT_ROOT']."/404.html");
exit;

?или вам нужно универсальное решение?

...