masterofsql
@ 08-04-2004, 15:56
Привет всем! Есть ли здесь Apache гуру? Может, кто знает, как можно в логах с помощью SetEnvIf отловить запросы, вызвавшие ошибку, скажем, 404? Я не хочу писать их в access log, потому как они и так записываются в error log. Если кто знает, подскажите. Заранее спасибо.
irage
@ 08-04-2004, 21:25
QUOTE (masterofsql @ 08-04-2004, 17:56) |
Привет всем! Есть ли здесь Apache гуру? Может, кто знает, как можно в логах с помощью SetEnvIf отловить запросы, вызвавшие ошибку, скажем, 404? Я не хочу писать их в access log, потому как они и так записываются в error log. Если кто знает, подскажите. Заранее спасибо. |
а пропарсить лог не легче? перловый скрипт или grep например.
masterofsql
@ 08-04-2004, 22:50
Там довольно сложная система логов, с кучей других условий, поэтому ошибки хотелось бы отлавливать сразу. Возможно, это будет единственным выходом если такую проверку нельзя реализовать в принципе.
irage
@ 09-04-2004, 06:25
QUOTE (masterofsql @ 09-04-2004, 00:50) |
Там довольно сложная система логов, с кучей других условий, поэтому ошибки хотелось бы отлавливать сразу. Возможно, это будет единственным выходом если такую проверку нельзя реализовать в принципе. |
При запросе документа, который не найден, апач выдаёт страницу вроде 404 Not Found. Файл, который при этом выводится прописывается в конфигах:
CODE |
#ErrorDocument 404 /missing.html # to redirect to local URL /missing.html #ErrorDocument 404 /cgi-bin/missing_handler.pl # N.B.: You can redirect to a script or a document using server-side-includes.
|
То есть есть возможность использовать CGI. Ну а остальное - дело техники. Апач передает CGI адрес страницы, которая не найдена. Это аккуратно пишется в какой-нибудь файл. Получается полнейший реал-тайм без парсинга и заморочек.
masterofsql
@ 09-04-2004, 12:41
А как можно избежать записи тех же сообщений в основной лог? Apache пишет эти ошибки и в access.log, и в error.log :(
Попробую сегодня отлавливать Request_URI на 404 документ, как будто этот запрос исходит от пользователя ;)