Oups my test cases weren't tidy.

from vhost443.conf:

SetEnvIf "LA-U:REMOTE_PORT" "(.*)" A_SETENVIF_LA_U_REMOTE_PORT=$1 SetEnvIf %{LA-U:REMOTE_PORT} "(.*)" A_SETENVIF_LA_U_REMOTE_PORT_PERCENT=$1 SetEnvIf ${LA-U:REMOTE_PORT} "(.*)" A_SETENVIF_LA_U_REMOTE_PORT_DOLLAR=$1

SetEnvIf "LA-F:REMOTE_PORT" "(.*)" A_SETENVIF_LA_F_REMOTE_PORT=$1 SetEnvIf %{LA-F:REMOTE_PORT} "(.*)" A_SETENVIF_LA_F_REMOTE_PORT_PERCENT=$1 SetEnvIf ${LA-F:REMOTE_PORT} "(.*)" A_SETENVIF_LA_F_REMOTE_PORT_DOLLAR=$1

SetEnvIf "ENV:REMOTE_PORT" "(.*)" A_SETENVIF_ENV_REMOTE_PORT=$1 SetEnvIf %{ENV:REMOTE_PORT} "(.*)" A_SETENVIF_ENV_REMOTE_PORT_PERCENT=$1 SetEnvIf ${ENV:REMOTE_PORT} "(.*)" A_SETENVIF_ENV_REMOTE_PORT_DOLLAR=$1

SetEnvIf "SSL:REMOTE_PORT" "(.*)" A_SETENVIF_SSL_REMOTE_PORT=$1 SetEnvIf %{SSL:REMOTE_PORT} "(.*)" A_SETENVIF_SSL_REMOTE_PORT_PERCENT=$1 SetEnvIf ${SSL:REMOTE_PORT} "(.*)" A_SETENVIF_SSL_REMOTE_PORT_DOLLAR=$1

SetenvIf OID("0.9.2342.19200300.100.1.1") "(.*)" A_SETENVIF_OIDTEST=3D$1 SetenvIf %{OID("0.9.2342.19200300.100.1.1")} "(.*)" A_SETENVIF_OIDTEST_WITH_PERCENT=3D$1 SetenvIf ${OID("0.9.2342.19200300.100.1.1")} "(.*)" A_SETENVIF_OIDTEST_WITH_DOLLAR=3D$1


And the result from printenv.pl:

       A_SETENVIF_ENV_REMOTE_PORT=""
       A_SETENVIF_ENV_REMOTE_PORT_DOLLAR=""
       A_SETENVIF_ENV_REMOTE_PORT_PERCENT=""
       A_SETENVIF_LA_F_REMOTE_PORT=""
       A_SETENVIF_LA_F_REMOTE_PORT_DOLLAR=""
       A_SETENVIF_LA_F_REMOTE_PORT_PERCENT=""
       A_SETENVIF_LA_U_REMOTE_PORT=""
       A_SETENVIF_LA_U_REMOTE_PORT_DOLLAR=""
       A_SETENVIF_LA_U_REMOTE_PORT_PERCENT=""
       A_SETENVIF_OIDTEST="3D"
       A_SETENVIF_OIDTEST_WITH_DOLLAR="3D"
       A_SETENVIF_OIDTEST_WITH_PERCENT="3D"
       A_SETENVIF_SSL_REMOTE_PORT=""
       A_SETENVIF_SSL_REMOTE_PORT_DOLLAR=""

Cdlt, Dave
-----
A_SETENVIF_SSL_REMOTE_PORT_PERCENT=""



David (Dave) Donnan wrote:
Sébastien, hello. I don't have a solution for you but I'm waiting for a similar reply.

I hope the following helps:

>From my e-mail thread entitled, 'Setting CGI environment variables, dynamically, from httpd.conf leveraging exising variables':
...
2. Technique 2: setenv DAVESETENV "text"
> ----------------------------------------------
>
>     Result: DAVESETENV="text"
>
> But, I've read that this is only a static string.
>
> 
http://www.usenet-forums.com/apache-web-server/10179-setenv-dynamic-variable.html
Eric Covenor replied:
        setenvif is a bit more flexible:
        http://httpd.apache.org/docs/current/mod/mod_setenvif.html#setenvif

==> So I reckon you should look at setenvif, rather.

----------

>From my Email entitled, 'RewriteRule .* - 
[E=TEMP_SMUSER:%{SSL:OID("2.5.29.17")}]  # Subject Alternate Name':

...

Question 2: Also, I've never gotten SetEnvIf to work, for example:
SetEnvIf "LA-U:REMOTE_PORT" "(.*)" A_SETENVIF_LA_U_REMOTE_PORT=$1 SetEnvIf ${LA-U:REMOTE_PORT} "(.*)" A_SETENVIF_LA_U_REMOTE_PORT_PERCENT=$1

SetEnvIf "LA-F:REMOTE_PORT" "(.*)" A_SETENVIF_LA_F_REMOTE_PORT=$1 SetEnvIf ${LA-F:REMOTE_PORT} "(.*)" A_SETENVIF_LA_F_REMOTE_PORT_PERCENT=$1

SetEnvIf "ENV:REMOTE_PORT" "(.*)" A_SETENVIF_ENV_REMOTE_PORT=$1 SetEnvIf ${ENV:REMOTE_PORT} "(.*)" A_SETENVIF_ENV_REMOTE_PORT_PERCENT=$1

SetEnvIf "SSL:REMOTE_PORT" "(.*)" A_SETENVIF_SSL_REMOTE_PORT=$1 SetEnvIf ${SSL:REMOTE_PORT} "(.*)" A_SETENVIF_SSL_REMOTE_PORT_PERCENT=$1

SetenvIf %{OID("0.9.2342.19200300.100.1.1")} "(.*)" A_SETENVIF_OIDTEST_WITH_PERCENT=3D$1 SetenvIf OID("0.9.2342.19200300.100.1.1") "(.*)" A_SETENVIF_OIDTEST=3D$1

Result:

    A_SETENVIF_ENV_REMOTE_PORT=""
    A_SETENVIF_ENV_REMOTE_PORT_PERCENT=""
    A_SETENVIF_LA_F_REMOTE_PORT=""
    A_SETENVIF_LA_F_REMOTE_PORT_PERCENT=""
    A_SETENVIF_LA_U_REMOTE_PORT=""
    A_SETENVIF_LA_U_REMOTE_PORT_PERCENT=""
    A_SETENVIF_OIDTEST="3D"
    A_SETENVIF_OIDTEST_WITH_PERCENT="3D"
    A_SETENVIF_SSL_REMOTE_PORT=""

If I receive an answer I'll let you know.

Cdlt, Dave
-----
Sébastien Moretti wrote:
Hi

I have defined a SetEnv Directive this way:
    SetEnv BASE_PATH /tmp/smthg

I would like to re-use this variable in another SetEnv Directive, e.g.:
    SetEnv PATHS $BASE_PATH/a:$BASE_PATH/b:$BASE_PATH/c:...


But $BASE_PATH is not interpreted as a variable.
I tried with quotes, back-splash, ...


How can I re-use this variable in another SetEnv Directive ?
Thanks




Apache 2.2.3, Linux kernel 2.6.18, x86_64



Reply via email to