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

Reply via email to