Назад | Перейти на главную страницу

Apache CustomLog с несколькими env?

У меня есть 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

Как я могу использовать несколько условий env в CustomLog?

использовать это:

CustomLog logs/ssl_access_log common \ "expr=(-z reqenv('GET-ACTION') && -z reqenv('SVN_ACTION'))"

весь третий аргумент, кажется, требует двойных кавычек. цитирования только правой части "=" недостаточно.

синтаксис протестирован с версией 2.4.34.

В Apache 2.4 вы можете использовать выражение:

CustomLog logs/ssl_access_log common \
  expr="-z reqenv('GET-ACTION') & -z reqenv('SVN_ACTION')"