我正在尝试从 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