Defineディレクティブ:変数を定義する

Define ディレクティブは変数を定義するのに使用します。変数に対して値を設定し他のディレクティブに対する設定に使用したり、変数の定義だけを行い IfDefine ディレクティブを使った条件分岐で使用することができます。ここでは Apache の Define ディレクティブの使い方について解説します。

(Last modified: )

Defineディレクティブの使い方

Define ディレクティブは変数を定義するときに使用します。書式は次のとおりです。

Define 変数名 [値]

記述できる場所は httpd.conf です。

変数名は定義だけを行うこともできますし、定義した変数に値を設定することもできます。例えば DebugMode という変数を定義だけ行う場合は次のように記述します。

Define DebugMode

変数を定義だけ行った場合は IfDefine ディレクティブと組み合わせて使用します。 IfDefine ディレクティブはパラメータとして記述した変数が定義されている場合だけブロック内に記述された設定が行われます。

Define DebugMode

<IfDefine DebugMode>
  ・・・
  ・・・
</IfDefine>

※ Apache を起動するときに -D変数名 オプションをつけて起動した場合と同じです。

また定義した変数に対して値を設定することもできます。例えば TestDir に対して d:\testdir を設定する場合は次のように記述します。

Define TestDir d:\testdir

変数に定義した値は ${変数名} と記述することで他のディレクティブに対する設定で使用することができます。例えば次の 2 つの Alias ディレクティブは同じ設定となります。

Define TestDir d:\testdir

Alias /data ${TestDir}
Alias /data d:\testdir

httpd.conファイルでの記述

httpd.conf ファイルでは次のような使われ方をしています。

Define SRVROOT "d:/pg/Apache/Apache24"

ServerRoot "${SRVROOT}"

変数 SRVROOT に対して d:/pg/Apache/Apache24 を設定しています。そして ServerRoot ディレクティブに対する値として変数 SRVROOT の値を設定しています。

-- --

Apache の Define ディレクティブの使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。