Can I concatenate environment variables in apache

2020-03-28 17:05发布

问题:

I have two environment variables in apache config, I want to concatenate them into one new environment variable. Is this possible?

I realise this doesn't work, but it demonstrates the sort of thing I'm after:

SetEnv one foo
SetEnv two bar
SetEnv three one+two

...and then 'three' would have the value "foobar"

回答1:

Use a mod_rewrite regular expression with two wildcard backreferences to access the environment variables and concatenate the strings:

#This will be true for any user agent
RewriteCond  %{HTTP_USER_AGENT}  ^.*

#Replace / with / and set the new environment variable
RewriteRule  /(%{ENV:one})*(%{ENV:two})* / [E=three:$1$2]