|
|
|
Не совсем правильно...
Апач так устроен, что если у нас есть директивыAddHandler нечто некое_расширение
Action нечто /некое/действие то он автоматически переадресует (скрыто)http://server/документ -> http://server/некое/действие /$DOCUMENT_ROOT/документ В результате этого получаем два варианта: 1. Попросили документ с "неким_засширением" - получили внутренний редирект и ответ /некоего/действия 2. Попросили остальное (директория, другое_расширение) - получили ответ сервера самого
Посему определять нужно и ErrorDocument и /404.html Первый - для "необрабатываемых" случаев (2), второй - чисто для парсера.
Таким образом, если ты просишь "sdfasdfasdf.p2" - 404ю от сервера не получишь, ибо parser2.cgi существует! При этом, в 404.html можно включать макросы парсера, так как запрос на его обработку не проходит через сервер!, а следовательно не подчиняется директивам AddHandler/Action (во закрутил)
Дальше, если у тебя хэндлер "завернут" на .p2, ты, естественно, должен писать в .htaccess ErrorDocument 404 /404.p2 Но если не существует "чего-то.p2" - надо создать еще и /404.html, дабы удовлетворить сам парсер ;-) Ну а для простоты, его можно сделать таким:^include[/404.p2] Теперь все довольны: при любой ощибке имеем вывод /404.p2
|