В настоящее время у меня есть отдельные журналы доступа для статических и динамических страниц. Мой httpd.conf имеет (внутри <VirtualHost>):
<LocationMatch "^/(img|js|css|thumb|banner)/(.+)$">
SetEnv static 1
</LocationMatch>
CustomLog /var/log/apache2/gopal.log myCustom env=!static
CustomLog /var/log/apache2/gopal-static.log myCustom env=static
Хотелось бы дополнить его
SetEnvIf Remote_Addr "127.0.0.1" dontlog
CustomLog /var/log/apache2/gopal.log myCustom env=!dontlog
, но не могу найти пример использования CustomLog expr = параметр и не может угадать рабочее выражение: expr=!(reqenv('static')||reqenv('dontlog'))
производит
синтаксическая ошибка, непредвиденный T_OP_OR
В reqenv
функция должна сравниваться с чем-то, вы не можете просто проверить, установлена ли переменная среды или нет, как пытается ваш код. Признаюсь, сообщение об ошибке не особо поучительно :-)
Для вас должно работать следующее:
SetEnvIf Request_URI ^/(img|js|css|thumb|banner) static=yes
SetEnvIf Remote_Addr "127.0.0.1" dontlog=yes
CustomLog logs/access_log myCustom expr=!(reqenv('static')=='yes'||reqenv('dontlog')=='yes')