web-dev-qa-db-ja.com

SetEnvを使用してApacheの変数を読み取るにはどうすればよいですか?

DOC_ROOT情報はあるが何もない環境変数を設定したい

SetEnv PROJECT_BASE %{ENV:DOC_ROOT}
SetEnv LAYOUT_HOME  %{ENV:PROJECT_BASE}"/html/app/wordpress/"

その後、phpでLAYOUT_HOMEにアクセスできるようになります

これどうやってするの?上記は私のために働いていません...

問題は、ベースパスが差分環境で異なることです= /

3
qodeninja

SetEnvはmod_envのディレクティブであり、mod_envは%{ENV:var}をサポートしていません。これを行うのはmod_rewriteだけです。 Apacheはモジュール式であり、モジュールは独自のディレクティブを定義することを忘れないでください。あなたはこのようにmod_rewriteでこれを行うことができます:

 RewriteRule .* -  [E=PROJECT_BASE:%{ENV:DOC_ROOT}]
  ... etc

私は尋ねなければなりません、あなたは本当に何をしようとしているのですか?より良い方法があるに違いありません。 phpの代わりにApacheでLAYOUT_HOME変数を定義する理由は考えられません。

4
beans

getenvdoc here を使用します。

環境変数を取得します。これを使用して、Apacheで設定した環境変数を取得します。

0
coredump