使用我的htaccess文件,我正在设置此环境变量
SetEnv CI_ENV development
但实际上我想从主机继承环境变量。像
这样的东西SetEnv CI_ENV %{CI_ENV}
我试过了:
SetEnv CI_ENV %{ENV:CI_ENV}
但这似乎不起作用。
原因:我正在使用带有PHP / Apache容器的docker。试图将配置值传递给它,所以我想在可能的情况下在htaccess文件中没有任何硬编码。
我目前的解决方法是在文件中包含一个带有$ CI_ENV的.htaccess.config文件,然后使用脚本替换env值,但不必这样做。
答案 0 :(得分:1)
如果您使用mod_setevif
,则无需重新声明env变量。
在root .htaccess中使用此指令:
SetEnvIf Host ^ CI_ENV=development
然后在子目录中的任何位置使用它,而无需重新开发它。
编辑:根据以下评论,OP似乎试图将系统(shell)env变量传递给Apache。
对于那个PassEnv
指令可以这样使用:
# pass system env CI_ENV to Apache
PassEnv CI_ENV
现在CI_ENV
将作为各种Apache指令中的env变量提供。