Как заставить 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 ...