Разрешить apache обрабатывать ошибку 404, если PHP сочтет это целесообразным?

Я прекрасно знаю, как создать пользовательскую страницу 404 в PHP, однако мне интересно, есть ли способ вернуть управление apache и позволить ему создавать правильную страницу 404, отправлять правильные заголовки и т. д., когда моя логика так говорит?

Я просматриваю некоторые специальные функции apache, но не могу найти что-нибудь подходящее. Неужели это просто невозможно? Я помню что-то подобное, доступное, например. mod_perl, имея полный доступ к внутренностям apache, где этот эквивалент в PHP?


person mark    schedule 30.09.2009    source источник


Ответы (2)


Мои исследования до сих пор привели меня к выводу, что невозможно делегировать обратно Apache из mod_php, как некоторые другие технологии, например. mod_perl, разрешите.

person mark    schedule 12.10.2009

Я не уверен, что вы можете делать именно то, что хотите, но одно из ваших требований может быть выполнено с помощью php, и ну, кроме ... я не вижу других.

Вы можете отправить правильный тип заголовка, используя функцию header(). В моем коде я обычно использую приведенный ниже.

header("HTTP/1.0 404 Not Found");
echo "sorry, page not found...";

Подробнее см. function.header.php в руководстве по php.

person catfarm    schedule 30.09.2009
comment
Я вижу, извините. Возможно, вам поможет разъяснение того, почему вы хотите, чтобы apache делал это, а не использование примеров того, что вы уже можете сделать из php? PHP может создать правильную страницу 404, поэтому в вашем запросе возникает путаница. Хотел бы я помочь больше, но я не знаю способа вернуть логику обратно в apache, не делая чего-то глупого, например, запрашивая заголовок для URL-адреса, который не обрабатывается php. - person catfarm; 01.10.2009
comment
Я хотел воспользоваться механизмом Apache, который генерирует дополнительные заголовки для страниц 404, которые мне пришлось бы добавлять вручную, что мне не нравится. Кажется, PHP просто не поддерживает такие вещи. - person mark; 12.10.2009