Как заставить PHP обрабатывать несуществующий запрос файла через директивы Apache?

Я пытаюсь написать расширение PHP, которое выполняет некоторые операции для конкретных запросов.

Проблема в том, что, даже если обработчики настроены правильно для запуска PHP, если URL-адрес запроса не сопоставлен с существующим файлом, он просто отображает страницу ошибки "Not Found", пропуская код расширения.

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

Есть ли директива, которую я могу использовать, чтобы подавить страницы ошибок "Не найдено" для данного соответствия регулярному выражению, без использования перенаправлений? Если нет, как я могу добиться этого с помощью перенаправлений?

1 ответ

Решение

Может быть, вы могли бы использовать директиву ErrorDocument для этого.
Но тогда вам придется справиться со всеми 404 условиями. Первоначально запрошенный путь находится где-то в массиве $_SERVER. Таким образом, вы можете использовать свое регулярное выражение "в" сценарии php.

редактировать: исходный путь хранится в $_SERVER['REQUEST_URI'],
И скрипт php может отправить любой код статуса http, какой захочет, 404, 301, 200 и т. Д.; хотя я не знаю, что происходит с новым каскадным определением в Apache 2.4 ...

Другие вопросы по тегам