我有2个CustomLog语句:
# SVN-ACTION is default env
CustomLog logs/svn_access_log common env=SVN-ACTION
SetEnvIf Request_Method GET GET-ACTION
CustomLog logs/get_access_log common env=GET-ACTION
这可行,但是下面的 CustomLog 语句不起作用...它会打印出错误:
CustomLog logs/ssl_access_log common env=!GET-ACTION env=!SVN-ACTION
如何在 CustomLog 中使用多个环境条件?
答案1
用这个:
CustomLog logs/ssl_access_log common \ "expr=(-z reqenv('GET-ACTION') && -z reqenv('SVN_ACTION'))"
整个第三个参数似乎需要双引号。仅引用“=”的右侧是不够的。
语法已使用 2.4.34 版本测试。
答案2
在 Apache 2.4 中,您可以使用表达。
例如:
CustomLog logs/ssl_access_log common \
"expr=-z reqenv('GET-ACTION') && -z reqenv('SVN_ACTION')"