On 5/21/07, West, Chris <[EMAIL PROTECTED]> wrote:



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.

Is the "SERVER_NAME" environment variable set in the shell that is
used to start Apache; or is it set elsewhere? In the context of an
discussion about apache "Environment variable" can mean two things, it
is important to know which meaning it has here.

Now, as far as I know you cannot use environment variables in the
regex part of a SetEnvIf statement. So your first solution will not
work.

the second solution can work, but you need to refer to
%{ENV:SERVER_NAME} if you want an environment variable, and not a
mod_rewirte variabla.

Krist

--
[EMAIL PROTECTED]
Bremgarten b. Bern, Switzerland
--
A: It reverses the normal flow of conversation.
Q: What's wrong with top-posting?
A: Top-posting.
Q: What's the biggest scourge on plain text email discussions?

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
  "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to