我想设置一个包含 DOC_ROOT 信息的环境变量,但没有任何内容
SetEnv PROJECT_BASE %{ENV:DOC_ROOT}
SetEnv LAYOUT_HOME %{ENV:PROJECT_BASE}"/html/app/wordpress/"
然后就可以在 php 中访问 LAYOUT_HOME
我该怎么做?上面的方法对我来说不起作用...
问题是不同环境下的基本路径不同=/
答案1
SetEnv 是 mod_env 的一个指令,mod_env 不支持 %{ENV:var}——只有 mod_rewrite 才支持。别忘了 apache 是模块化的,模块定义自己的指令。你可以像这样使用 mod_rewrite 来做到这一点:
RewriteRule .* - [E=PROJECT_BASE:%{ENV:DOC_ROOT}]
... etc
我必须问一下,你到底想做什么?一定有更好的方法。我想不出任何理由在 apache 而不是 php 中定义你的 LAYOUT_HOME 变量。
答案2
使用getenv
,文档在这里。
它将获取任何环境变量,只需使用它来获取您在 Apache 上设置的环境变量。