.htaccess中的条件SetEnv?

时间:2012-05-23 20:57:06

标签: apache .htaccess pyrocms setenv

是否可以根据主机名在.htaccess文件中设置不同的SetEnv变量?

例如,我需要.htaccess文件具有以下值:

SetEnv PYRO_ENV production

在生产箱上,......

SetEnv PYRO_ENV stage

在临时箱上。 .htaccess文件受版本控制,这就是我正在寻找条件解决方案的原因。

2 个答案:

答案 0 :(得分:48)

对于条件设置,有SetEnvIf

SetEnvIf Host ^stage\.example\.com$ PYRO_ENV=stage
SetEnvIf Host ^(www\.)?example\.com$ PYRO_ENV=production

答案 1 :(得分:25)

您可以使用mod_rewrite:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^stage\.domain\.com$
RewriteRule (.*) $1 [E=PYRO_ENV:stage]

RewriteCond %{HTTP_HOST} ^www\.domain\.com$
RewriteRule (.*) $1 [E=PYRO_ENV:production]