httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeremy Jones <>
Subject [users@httpd] trouble using environment variables in rewriterules
Date Thu, 18 Jun 2009 11:59:25 GMT

I'm trying to set an environment variable in httpd.conf and then have
it available to the URL-portion of a RewriteRule in a .htaccess file.
Please could someone assist:

In httpd.conf I have this line setting the environment variable:

SetEnv       MODPERLPORT      81

and in .htaccess I want to do something like this:

RewriteEngine On
RewriteRule     foo\.cgi
http://myserver:%{ENV:MODPERLPORT}%{REQUEST_URI}    [P,L]

to have Apache proxy the request through to another Apache process
running on a different port, but it doesn't seem like any environment
variables are available in the URL portion of the rule.

I've also tried to do things like this:

RewriteEngine   On
RewriteCond     %{ENV:MODPERLPORT}      ([0-9]+)
RewriteRule      foo\.cgi
http://myserver:%1%{REQUEST_URI}    [P,L]

but the condition fails, even though the environment variable is set
if I look at a simple dump of the environment e.g. env.cgi through a

So far the only hacky way I can get this to work is to set a built-in
variable to the value I need, e.g.:


ServerAdmin    81


RewriteEngine On
RewriteRule     foo\.cgi
http://myserver:%{SERVER_ADMIN}%{REQUEST_URI}   [P,L]

but that's clearly a very poor solution for many reasons, not least
that I need the modperlport to vary for different environments without
the .htaccess file having to change for each environment.

Can anyone advise if there's a better/correct way to set customised
environment variables and then de-reference them within the URL
portion of a rewrite rule?


The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:> for more info.
To unsubscribe, e-mail:
   "   from the digest:
For additional commands, e-mail:

View raw message