我肯定这里漏掉了什么
如果我使用这个规则集:
SetEnvIf Remote_Addr "::1" loopback SetEnvIf Remote_Addr "127\.0\.0\.1" loopback CustomLog logs/access_log combined env=!loopback SetEnvIf Request_URI "^/img/" env=images CustomLog logs/error_log combined env=!images
我的错误日志中最终出现了我不想要的本地主机请求,并且仍然显示了图像。
这总是给我一个语法错误消息,显然你不能定义超过“env”变量?
SetEnvIf Remote_Addr "::1" loopback SetEnvIf Remote_Addr "127\.0\.0\.1" loopback CustomLog logs/access_log combined env=!loopback SetEnvIf Request_URI "^/img/" images=1 CustomLog logs/error_log combined images=!1
我尝试了这个技巧:
SetEnvIf Remote_Addr "::1" loopback SetEnvIf Remote_Addr "127\.0\.0\.1" loopback CustomLog logs/access_log combined env=!loopback SetEnvIf Remote_Addr "::1" images SetEnvIf Remote_Addr "127\.0\.0\.1" images SetEnvIf Request_URI "^/img/" images CustomLog logs/error_log combined env=!images
从这里:
http://www.tek-tips.com/viewthread.cfm?qid=276232&page=198
但我仍然在日志中看到图像请求。
是否有人有其他方法可以用来过滤此类失败的(甚至全部)图像请求?
File does not exist: ..../public_html/agility/img/4thjuly/earth.png,
答案1
Request_URI "^/img/"
意味着 URI 以 开头img
,因此请求/public_html/agility/img/4thjuly/earth.png
仍会被记录。尝试以下操作:
SetEnvIf Request_URI "(.*)/img/*" images
CustomLog logs/error_log combined env=!images