httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <>
Subject Re: [users@httpd] RE: Can you use variables inside a conf file?
Date Sun, 29 Jan 2012 11:01:20 GMT
On 29.01.2012 09:42, Steve Swift wrote:
> Out of curiosity, is it possible to define the same environment
> variable, but with different values, in different VirtualHosts? I
> presume this can't be done, as all of the hosts would inherit the same
> environment, including the environment variables.
> For example, I have live and test versions of every "server" in our
> apache. The live server uses directory /cgi-bin/ and the test server
> uses /cgi-test/. This means that we have to define things like aliases
> in both live and test VirtualHosts. This means we can screw them up...
> I've always wanted to define some sort of "local" variable in each
> VirtualHost, containing the location of the cgi directory. Then we could
> INCLUDE the same set of aliases in both the live and test hosts, but
> they would pick up their respective paths.
> In fact, I've often wished that the Apache configuration would support
> its own internal variables, but so far nothing has happened. I must not
> be wishing hard enough.

Sorry, mod_define and the builtin variables for Apache 2.4 only support 
global variables.

Maybe mod_macro could help you. It allows to specify recurring config 
snipets which you can instantiate using parameters.



> On 28 January 2012 14:53, Rainer Jung <
> <>> wrote:
>     On 25.01.2012 14:47, Desilets, Alain wrote:
>                     I use this syntax too, but I think it works for me
>             only because of my
>                     loading of a NON-STANDARD module, mod_define.
>             <>
>         It works for me and I don't have mod_define loaded.
>     Using an environment variable with the ${MYVAR} syntax works without
>     mod_define. If you want to define the value of the variable inside
>     the httpd configuration files, you would need mod_define.
>     Major difference: environment variables can't be changed with
>     "apachectl restart" or "apachectl graceful", because in both cases
>     the httpd parent process keept running and all child processes are
>     forked from it with an unchanged environment.
>     If you define the variables inside the configuration and use the
>     additional module, any changes to the definitions will become active
>     by "apachectl restart" and "apachectl graceful".
>     Starting with the forthcoming Apache 2.4 defining variable inside
>     the httpd configuration will become a core feature.
>     Regards,
>     Rainer

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