根據主機名,是否可以在.htaccess文件中設置不同的SetEnv變量?.htaccess中的條件SetEnv?
例如,我需要我的.htaccess
文件有以下值:
SetEnv PYRO_ENV production
在生產箱,並...
SetEnv PYRO_ENV stage
在分期盒。 .htaccess
文件受版本控制,這是我尋找條件解決方案的原因。
根據主機名,是否可以在.htaccess文件中設置不同的SetEnv變量?.htaccess中的條件SetEnv?
例如,我需要我的.htaccess
文件有以下值:
SetEnv PYRO_ENV production
在生產箱,並...
SetEnv PYRO_ENV stage
在分期盒。 .htaccess
文件受版本控制,這是我尋找條件解決方案的原因。
對於條件設置有SetEnvIf:
SetEnvIf Host ^stage\.example\.com$ PYRO_ENV=stage
SetEnvIf Host ^(www\.)?example\.com$ PYRO_ENV=production
您可以與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]
這是真棒。謝謝!對於將來可能會遇到這個答案的其他人,可以在這裏設置更多的文檔:[ModRewrite Flags Env](http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_e )和[Apache中的環境變量](http://httpd.apache.org/docs/2.2/env.html) –
要downvoter:謹慎解釋? – lanzz
對於Magento也非常有用:'SetEnvIf Host \ .de MAGE_RUN_CODE = de'(在我們的例子中,我們有內部和外部URL:'example.de'以及'example.de.testing.local') - 所以這個適用於兩者。 – Alex
這是最好的答案。 – Dmitri