RE: Comparing environmental variables in httpd.conf for conditional logic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Krist,

Sorry to get back to you again, I have tried the format you described
and still have problems, is the following how you would expect the
rewrite condition to look?  I have tried both, neither giving the result
expected.

1.

    RewriteCond %{HTTP_REFERER} ^.*%{ENV:SERVER_NAME}.*$ [OR]
    RewriteCond %{HTTP_REFERER} ^$
    RewriteRule .* - [E=dont_log_referer:true]

2.

    RewriteCond %{ENV:HTTP_REFERER} ^.*%{ENV:SERVER_NAME}.*$ [OR]
    RewriteCond %{ENV:HTTP_REFERER} ^$
    RewriteRule .* - [E=dont_log_referer:true]

Regards

Chris West
Information Analyst
EDS - UKIMEA Commercial AIU
WoodHill House (2nd Floor)
Westburn Road
Aberdeen AB16 5GB
 
( Phone:+44 (0)1224 422517)
+ mailto:chris.west@xxxxxxx

This email contains information which is confidential 
and may be privileged. Unless you are the intended 
addressee (or authorised to receive for the addressee) 
you may not use, forward, copy or disclose to anyone 
this email or any information contained in this email. If 
you have received this email in error, please advise 
the sender by reply email immediately and delete this email.

Electronic Data Systems Ltd
Registered Office:, Lansdowne House, Berkeley Square, London  W1J 6ER 
Registered in England no: 53419
VAT number: 432 99 5915

-----Original Message-----
From: Krist van Besien [mailto:krist.vanbesien@xxxxxxxxx] 
Sent: 21 May 2007 12:46
To: users@xxxxxxxxxxxxxxxx
Subject: Re:  Comparing environmental variables in
httpd.conf for conditional logic

On 5/21/07, West, Chris <chris.west@xxxxxxx> 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

--
krist.vanbesien@xxxxxxxxx
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: users-unsubscribe@xxxxxxxxxxxxxxxx
   "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx


---------------------------------------------------------------------
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: users-unsubscribe@xxxxxxxxxxxxxxxx
   "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux