|
|
|
|
||||||
| alt.apache.configuration Apache web server configuration issues. |
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Hello
I have searched all over the place, but can't find an explanation for the following. I am trying to set different environment variables depending on what what directory the accessed cgi script is in. /var/www/cgi-bin/live/report.cgi /var/www/cgi-bin/test/report.cgi where report.cgi simply is print $ENV{'USERSOURCE'} I thought by adding the following to my httpd.conf file and stopping and then starting /etc/init.d/httpd the scripts would give me different outputs. <Directory "/cgi-bin/live/"> SetEnv USERSOURCE live </Directory> <Directory "/cgi-bin/test/"> SetEnv USERSOURCE test </Directory> However, I can only get the variable set if I use SetEnv OUTSIDE of the <Directory> tags (and is therefore global). I have run httpd -t to check the syntax and all that works. Can anyone tell me why you cannot set specific environment variables based on the directory directive? Thanks for your and attention Mark |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
:-)
Turns out it works if instead I use.... <Location "/cgi-bin/live/"> SetEnv USERSOURCE live </Location > <Location "/cgi-bin/test/"> SetEnv USERSOURCE test </Location > Thanks anyway :-) |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
markdibley@gmail.com wrote:
> Turns out it works if instead I use.... > > <Location "/cgi-bin/live/"> > SetEnv USERSOURCE live > </Location > > <Location "/cgi-bin/test/"> > SetEnv USERSOURCE test > </Location > based on this excerpt from the setenvif directive documentation: http://httpd.apache.org/docs/2.2/mod....html#setenvif Since version 2.0.51 Apache will recognize occurrences of $1..$9 within value and replace them by parenthesized subexpressions of regex. you could probably avoid the hassle of the pre-arranging every possible "usersource" into a location stanza, and just use a single line like this to cover all cases: SetEnvIf Request_URI "/cgi-bin/(.*?)/" USERSOURCE=$1 hth --sean -- sean dreilinger - http://durak.org/sean/ |
|
![]() |
| Outils de la discussion | |
|
|