header("HTTP/1.1 404 Not Found"); и firefox

Лёлик
На сайте с 28.04.2006
Offline
54
5923

Есть страница page.php :

<?php

header("HTTP/1.1 404 Not Found");
echo "123";
?>

При обращении к ней через firefox на экран выводится 123.

Если поменять код на

<?php

header("Status: 404 Not Found");
echo "123";
?>

Всё равно выводится 123

В IE "документ не найден", то есть как и должно быть. Почему?

php установлен, как модуль апача.

Нужно, именно, средствами php вывести 404 страницу в firefox.

[Удален]
#1

скорее всего php тут не виноват

Просто Вам отображаются расширенные страницы ошибок (т.е. то что вы отсылаете после header)

bondarev.pp.ru
На сайте с 29.09.2005
Offline
202
#2

Лёлик, IE часто игнорирует документ, отдаваемый с 404 ошибкой, и показывает свой дефолтный. По моим наблюдениям, это зависит от объема такого документа. Если он слишком маленький, IE кажет стандартную страницу о 404 ошибке. Поэкспериментируйте с увеличением объема документа.

Остальные браузеры всегда послушно кажут тот документ, который отдает сервер. И лишь при его отсутствии показывают дефолное сообщение об ошибке.

bondarevpipes.com (http://ru.bondarevpipes.com/)
AM
На сайте с 04.11.2003
Offline
57
#3

header("HTTP/1.1 404 Not Found");

echo file_get_contents("404.html");

остается только 404.html нарисовать ;)

Лёлик
На сайте с 28.04.2006
Offline
54
#4

Всем спасибо

ЗЗ
На сайте с 21.02.2006
Offline
85
#5
Лёлик:
так мне и нужно, что бы при обращении к page.php пользователю выдавалась дефолтная 404 страница.
Только вот firefox этого делать не хочет.

а если не выдавать больше ничего после хидера?

[Удален]
#6
Лёлик:
Только вот firefox этого делать не хочет.

А если убрать строку

echo "123";

Что тогда покажет firefox?

AM
На сайте с 04.11.2003
Offline
57
#7

Лёлик, а у него ее просто нет :)

если в IE галочку снять, то и он показывать будет 123

Знатная зверюга:
а если не выдавать больше ничего после хидера?
Mosik:
А если убрать строку
echo "123";

то пустую страницу и увидите

MK
На сайте с 18.08.2005
Offline
126
#8
Поэкспериментируйте с увеличением объема документа.

Больше 512 байт.

нет
A
На сайте с 21.08.2006
Offline
1
afi
#9

вообще, перенаправление на "свою" страницу 404 настраивается в файле .htaccess

но можно сделать и так


header("Location: 404.html");
exit();
HP
На сайте с 30.05.2006
Offline
175
#10

Если размер текста на 404 ошибку (впрочем как на любую другую) менее 512 байт, то IE подменяет ошибку выдаваемую сервером, своей страницей. Чтобы этого избежать отключите в настройках IE галочку "show frendly http error messages" ("Выводить подробные сообщения об HTTP ошибках" в русской версии). А Firefox ничего не подменяет, выдает как есть страницу.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий