Search code examples
regexapache.htaccessapache2.2setenvif

Apache's SetEnvIf to another variable in .htaccess


Is it possible using SetEnvIf to set a variable to the content of another variable? and if so, how?

For example

SetEnvIf defined_http_conf_var ^(.*)$ has_been_defined=%{defined_http_conf_var}

So the idea is, if inside the apache.conf or httpd conf defined_htaccess_var has been defined, then has_been_defined inside the .htaccess should now contain the value of it?

Note. This is for apache 2.2


Solution

  • You can use it like this:

    # unconditionally sets defined_htaccess_var=some_value
    SetEnvIf Host ^ defined_htaccess_var=some_value
    
    # sets another var has_been_defined=<value of defined_htaccess_var>
    SetEnvIf defined_htaccess_var .+ has_been_defined=$0
    

    See more details here