Apache 我可以选择.htaccess中的环境变量吗?

Apache 我可以选择.htaccess中的环境变量吗?,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我有一组apache(2.4.25)站点,它们使用mod_vhost_别名,因此一个vhost服务于多个子域 我希望能够设置一个环境变量,比如 <VirtualHost _default_:443>` ServerNameAlias *.whatever-it-is.com SetEnv HOME_URL https://www.whatever-it-is.com/ # etc 然后,如果我需要更改所有站点的home_url,我只需在vhost中应用它,几十个子域站点中的每一个都

我有一组apache(2.4.25)站点,它们使用mod_vhost_别名,因此一个vhost服务于多个子域

我希望能够设置一个环境变量,比如

<VirtualHost _default_:443>`
ServerNameAlias *.whatever-it-is.com
SetEnv HOME_URL https://www.whatever-it-is.com/
# etc
然后,如果我需要更改所有站点的home_url,我只需在vhost中应用它,几十个子域站点中的每一个都会选择它

*也试过

RewriteRule (.*)  %{ENV:HOME_URL}  [R=301,L]

RewriteCond中TestString的%{ENV:variable}形式允许mod_rewrite的重写引擎根据环境变量做出决定…

使用
setenif
设置您的环境变量,以便稍后在.htaccess中
mod_rewrite
可以使用它

VirtualHost
config中,它是这样的:

SetEnvIf Host ^ HOME_URL=https://www.whatever-it-is.com/
那么inside.htaccess有一个简单的规则:

RewriteEngine On

RewriteRule .* %{ENV:HOME_URL} [R=301,L]

在测试此更改之前,请确保清除浏览器缓存。

重写规则(.*)%{ENV:HOME\u URL}[R=301,L]
?还尝试了
重写规则(.*)%{ENV:HOME\u URL}[R,L]
,根据-仍然不起作用。在重定向循环中结束,就好像没有设置环境变量(从php中可以看到它是这样的)好吧,它看起来与我已经尝试过的没有太大的不同,但现在对我的subdomains@frumbert这个问题有更具描述性的答案
RewriteEngine On

RewriteRule .* %{ENV:HOME_URL} [R=301,L]