我正在努力弄清楚如何根据我的场景使用 SetEnvIf 让环境变量工作,并且想知道是否有人可以告诉我如何去做,或者举个例子。
我的结果是我需要根据环境变量触发以下重定向,我还有其他情况也需要使用此逻辑。
我有以下内容,所以重定向只发生在生产中
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{ENV:environment} production
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
我希望我可以设置以下内容,但无法弄清楚。
SetEnvIf environment ^(.*)$ environment=production #set it to production, if it is not already set?
SetEnvIf Host ^staging. environment=staging
SetEnvIf Host .dev$ environment=wamp
理想情况下,我的伪代码是
SetEnvIf environment is not set, set to production
SetEnvElse host starts with staging, set to staging
SetEnvElse host ends with dev, set to wamp
然后在我的PHP中我有
<?php
if( getenv('environment') ){
exit(getenv('environment'));
}
else {
exit("environment not found");
}
我的输出肯定是
environment not found
我正在访问owen.jekyll-test.dev
谁能指出我做错了什么的方向?