web-dev-qa-db-ja.com

Apache構成で定数変数を使用する

<VirtualHost *:80>
SetEnv SITENAME testing
ServerName www.test.com

# Location of files
DocumentRoot "/www/${SITENAME}/site"
Alias /data "/www/data/${SITENAME}"
Alias /base "/www/${SITENAME}/base/site"

# Logging
ErrorLog "/var/log/httpd/${SITENAME}-error.log"
CustomLog "/var/log/httpd/${SITENAME}-access.log" combined
</VirtualHost>
  • Apache2を起動しています...警告:DocumentRoot [/ www/$ {SITENAME}/site]は存在しません

ドキュメントをさらに読むと、SetEnvがパスで使用するのに十分なほど早くバインドされない可能性があり、推奨される代替SetEnvIfも要求プロパティに基づいていることがわかります。

Mod_vhost_aliasを使用した例も見ましたが、DocumentRoot以外は処理されていないようで、それでもサーバー名のコンポーネントを使用する必要がありますが、これは私が望むものではありません。

私が欲しいのは、構成が読み取られ、任意の文字列(Cの#DEFINEなど)で使用できる場合に使用できる純粋な変数置換です。私のApacheバージョンは2.2です。それはできますか?

更新:ドキュメントでDefineディレクティブを見つけましたが、機能しません(2.3の新機能のようです)。今の質問は、この機能または同等の機能を2.2にバックポートするモジュールがあるかどうかだと思います。

3
SpliFF

これは以前に尋ねられました。リンクはここにあります:

重複を減らすためにApache構成ファイルの変数を使用しますか?

2
Sodved