Не перенаправляе по 404

Alert

Guest
Не перенаправляет по 404

У меня в .htaccess стоит ErrorDocument 404: 404.html

В скрипте пишу:

if () {header("Status: 404 Not Found"); exit()}

Показывает пустую страницу, а не 404.html, Почему???

Вообще, подскажите, как выйти из скрипта, как буд-то он не запускался, как если бы его не существовало??
 

Demiurg

Guest
У тебя в 404.html текста мало

>как выйти из скрипта, как буд-то он не запускался, как если бы его не существовало??
чего-чего ?
 

Alert

Guest
Простите, не понял ответа.
Как смотреть ошибки, я сам знаю, мне надо сообщить всем на свету, и пользователю, и апачу, и кому только можно, что запрошенного файла не существует (хотя он существует)
 

Нечто

Психолог РНРClub
SiMM
У меня на двух серваках такой финт не работал: когда скрипт выдавал 404 заголовок, ErrorDocument не отдавался, а был стандартный ответ браузера. Код, естественно, был корректный.
 

SiMM

Новичок
> Как смотреть ошибки, я сам знаю
Так ведь не смотришь же, а бежишь на форум. Или ты даже Cut&Paste делать не умеешь?

> У меня на двух серваках такой финт не работал: когда скрипт выдавал 404 заголовок, ErrorDocument не отдавался, а был стандартный ответ браузера.
Ну и что? Хотел меня впечатлить? У тебя плохо получается.
 

Demiurg

Guest
Нечто
ie не показывает страницы ошибок если они меньше скольки-то там килобайт.
 

Alert

Guest
SIMM

> Как смотреть ошибки, я сам знаю
Так ведь не смотришь же, а бежишь на форум. Или ты даже Cut&Paste делать не умеешь?

Видите, умею.
Только я весь форум излазил, единственное что я нашел полезного:
1) Header отправляется клиенту, а серверу по барабану, что там написано, он загружать ErrorDocument 404: a.html не будет;
2) ErrorDocument должен быть больше сколько-то там байт, что маловероятно, потому что у меня он приличного размера.

А вопрос мой такой: как можно сэмулировать ошибку 404.
Пользователь набирает a.php. А этот файл существует, но при некотором условии завершает работу, и каким-то образои сообщает серверу, мол не нашелся я нефига.
Я понимаю, это все очень диллетантски написано, но по крайней мере проблема ведь понятна??
 

Нечто

Психолог РНРClub
Хотел меня впечатлить?
Хотел спросить, но, как я понял, причина тебе не известна.
Demiurg, да, я туда пихал текст и картинки, ну и смотрел под FF и Opera.
Наверное, я просто не понимаю механизм, по которому апач хэндлит 404 ошибки.
 

SiMM

Новичок
> А вопрос мой такой: как можно сэмулировать ошибку 404.
Если необходимое условие не выполняется - делать include 'my_404_page.php', которая у тебя и прописана в ErrorDocument и которая отдаёт всё как положено с заголовком HTTP/1.0 404 Not Found, а так же содержит в конце die. Зачем вообще делать это через Status?

> Хотел спросить, но, как я понял, причина тебе не известна.
Я бы попробовал обратиться к ресурсу скриптом - мало ли что у браузера на уме - его проблемы не всегда решаются средствами сервера.

PS: а разве там нужно двоеточие после номера ошибки? Может я чего не знаю...
 

Alert

Guest
SIMM
Спасибо, это решение очень хорошее.
А зачем die(), ведь, как написано в мануале die() это абсолютный alias exit(), а его я и так использую??
 

SiMM

Новичок
> А зачем die()
не принципиально. Идея лишь в том, что скрипт надо завершать. И делать это в my_404_page.php более удобно.
 
Сверху