I am trying to perform some conditional logic in my httpd.conf file comparing two environment variables, the result of which will be used to limit the logging in my referer logfile. I have tried using both SetEnvIf and RewriteCond to perform the logic in the following ways.
1: Using SetEnvIf
SetEnvIf Referer SERVER_NAME dont_log_ref
CustomLog "|rotatelogs.exe logs/referer_log_iuk 86400" combined env=!dont_log_ref
2. Using Rewrite rules
#
# Set an env variable when we don't want to log the referer.
#
RewriteCond %{HTTP_REFERER} ^.*%{SERVER_NAME}.*$
RewriteRule .* - [E=dont_log_referer:true]
CustomLog "|rotatelogs.exe logs/referer_log_iuk 86400" combined env=!dont_log_referer
For both methods, I have tried referencing SERVER_NAME variables as above and also in form %{SERVER_NAME} and also %{ENV:SERVER_NAME}. None of these seem to work for the comparison however
If I hardcode the comparison it works OK
i.e.
RewriteCond %{HTTP_REFERER} ^.*my_test_server.*$
RewriteRule .* - [E=dont_log_referer:true]
CustomLog "|rotatelogs.exe logs/referer_log_inter 86400" combined env=!dont_log_referer
Any help would be much appreciated.
Chris West