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.

Regards,

Rainer

On 28 January 2012 14:53, Rainer Jung <rainer.j...@kippdata.de
<mailto:rainer.j...@kippdata.de>> 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.

            http://people.apache.org/~__rjung/mod_define/mod_define.__html
            <http://people.apache.org/~rjung/mod_define/mod_define.html>


        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:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
  "   from the digest: users-digest-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to