如果请求在 Apache 中匹配,如何防止记录

如果请求在 Apache 中匹配,如何防止记录

我正在尝试从 Apache 日志中删除一些请求。例如,如果请求匹配“RunJobs&tasks=jobs”

我正在尝试使用

SetEnvIf Request_URI "(RunJobs&tasks=jobs)" dontlog
CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined env=!dontlog

但是 request_URI 不包含请求,它在文件名处停止。

我检查了其他可能性,但都无济于事:

Remote_Host
Remote_Addr
Server_Addr
Request_Method
Request_Protocol
Request_URI

如果请求匹配 RunJobs&tasks=jobs,如何防止记录?

谢谢

答案1

由于SetEnvIf Query_String不存在,这是一种实现它的方法:

# Set an environment variable when the query string matches a certain string. 
# Modify the string you match against according to your requirements. 
# In this example any non empty query string matches. 
RewriteCond %{QUERY_STRING} !^$ 
RewriteRule (.*) $1 [E=dontlog:yes] 
# Use the env variable set above to remove from logging file. 
CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined env=!dontlog

http://www.gossamer-threads.com/lists/apache/users/326145

相关内容