# Apache のディレクティブの解説に使われる用語

それぞれの Apache ディレクティブは、次のような共通の書式によって記述されます:

  構文: directive-name some args
  デフォルト: `directive-name default-value`
  コンテキスト: context-list
  上書き: override
  ステータス: status
  モジュール: module-name
  互換性: compatibility notes

このドキュメントではディレクティブのそれぞれの属性が説明され ています。可能な場合はディレクティブが取り得るすべての値も書かれています。

## ディレクティブの用語

- 構文
- デフォルト
- コンテキスト
- 上書き
- ステータス
- モジュール
- 互換性

## 構文

設定ファイル中のディレクティブの書式を示します。 この構文はディレクティブ特有なので、詳細はディレクティブの説明を 参照してください。一般的に、ディレクティブ名の後にはいくつかの 引数が続きます。オプショナルな引数は括弧 (訳注: []) で囲まれています。 引数が複数の値を取り得る場合は、それらの値は垂直の棒で分割されています。 変更されないテキストはデフォルトのフォントで表示され、置換の必要な 引数は強調されて表示されます。引数の数が変わるディレクティブは最後の 引数が繰り返されることを示すために "..." で終わります。

## デフォルト

ディレクティブにデフォルト値 (すなわち、設定ファイルから 省略されていても、Apache ウェブサーバは特定の値に設定されているかのように 動作します) がある場合はここに記述されます。 デフォルト値の無い場合、ここは "None" と 書かれます。

## コンテキスト

これは、サーバの設定ファイル中のどこでディレクティブが有効なのかを示します。 次に示す値が一つ以上カンマ区切りで列挙されています。

サーバ設定ファイル
  これは、サーバ設定ファイル (例えば、`httpd.conf`, `srm.conf`, `access.conf`) 内では使用できますが、 `<VirtualHost>`や `<Directory>` の中では 使用できないことを示します。 `.htaccess`ファイルでの使用は許可されていません。

バーチャルホスト
  これは、サーバ設定ファイルの `<VirtualHost>` の中で使用できることを示します。

ディレクトリ
  これは、サーバ設定ファイルの `<Directory>`、 `<Location>`、`<Files>` の中で、 Directory、Location、Files セクションの機能 で説明されている制限の下で使用できることを示します。

.htaccess
  これは、ディレクトリ毎の `.htaccess` ファイル内で 使用可能であることを示します。 ただ、上書き の設定によっては、処理されないかもしれません。

ディレクティブは指示されたコンテキストでのみ許可されます。 他の場所で使おうとすると、サーバがそのコンテキストを正しく扱えなく なるような設定エラーが発生するか、サーバがまったく動作しなくなる、 すなわち、サーバが起動しなくなるということになります。

ディレクティブの有効な位置は、実際は挙げられているコンテキストの 論理和 (訳注: Boolen OR) になります。言い換えると、 "`サーバ設定ファイル、.htaccess`" で有効だと 記されているディレクティブは `httpd.conf` ファイルと `.htaccess` ファイルとで有効ですが、 `<Directory>` や `<VirtualHost>` の中では使用できません。

## 上書き

このディレクティブの属性は、`.htaccess` ファイル中に ディレクティブが現れたときに、それの処理を有効にするために どの設定の上書きが必要かを示します。 ディレクティブの コンテキスト が、`.htaccess` ファイル中では許可していない場合は、 この属性は "適用不可" と書かれます。

上書きは、`AllowOverride` ディレクティブによって有効にされ、 特定のスコープ(ディレクトリなど)と、 さらに下位のレベルの `AllowOverride` で修正されない限り、 その配下に対して適用されます。 ディレクティブのドキュメントは取り得る上書きの名前も挙げます。

## ステータス

これはディレクティブが Apache ウェブサーバにどれくらいきつく組み込まれているかを 示します。言い換えれば、ディレクティブとその機能を利用するために、 モジュールの数を増やして、サーバを再コンパイルする必要があるかもしれない ということを示します。 この属性が取り得る値は以下のものです:

Core
  "Core" のディレクティブは Apache ウェブサーバの基本となるべきものであり、 常に使用可能であることを示します。

Base
  "Base" のディレクティブは デフォルトでサーバに組み込まれている標準モジュールの中の一つでサ ポートされていて、わざわざ設定からモジュールを削除したときを除いて、 通常では使用可能であることを示します。

Extension
  "Extension" のディレクティブは、 Apache サーバの配布物に同梱されているモジュールの一つで提供されているものの、 通常ではサーバに組み込まれていないことを示します。 ディレクティブとその機能を有効にするには、サーバビルド用の設定ファイルを 変更して Apache を再コンパイルする必要があります。

Experimental
  "Experimental" のディレクティブは、Apache 配布物に 同梱されているものの、試したい場合は自己責任で行なう 必要があるということを示します。ディレクティブは、すべてのドキュメントを 完全にそろわせるために解説されていますが、サポートされているとは限りません。 ディレクティブを提供するモジュールはデフォルトで組み込まれているかも しれませんし、そうでないかもしれません。使用可能かどうかは、 ディレクティブとモジュールの説明をしているページの先頭を調べてください。

## モジュール

これは単純にディレクティブが定義されているモジュールの名前を記載します。

## 互換性

ディレクティブが Apache 1 の配布に組み込まれていなかった場合、 ディレクティブが導入されたバージョンがここに書かれています。 ディレクティブが NCSA HTTPd サーバのものと同じ名前である場合、 異なる挙動があるとここに書かれます。 挙動が同じ場合は、"互換性の問題無し" と書かれています。