このモジュールで提供されている DirectoryIndex ディレクティブを使用すると、http://turbolinux.co.jp/ や http://turbolinux.co.jp/~taro/ のようにファイル名の省略されたリクエストに対して、標準で表示するファイル名を指定することができます。一般的には、index.html というファイル名が使用されています。Turbolinux 10 Server の初期設定では以下のように指定されています。
DirectoryIndex index.html index.html.var index.htm |
このモジュールは、自動インデックスの生成機能を提供します。このモジュールに関連する代表的なディレクティブは以下の通りです。
IndexOptions [+|-]option [[+|-]option] ... IndexIgnore file [file] ... ReadmeName filename HeaderName filename |
IndexOptions ディレクティブは、クライアントからリクエストされたファイルが存在しない場合に、そのディレクトリに含まれるファイルとサブディレクトリの一覧を HTML で作成し、ブラウザに表示する機能を有効にしています。初期値は、FancyIndexing VersionSort NameWidth=* が指定されています。インデックス表示を無効にするにはこの行をコメントにします。機能が有効であれば以下に続く、AddIconByEncoding、AddIconByType、AddIcon、DefaultIcon などのディレクティブが意味を持ちます。これらのディレクティブは、ファイルのタイプや拡張子に対してブラウザ上で表示するアイコンなどを指定しています。
ReadmeName ディレクティブは、生成されたインデックスリストの下部に表示したい内容を記述したファイル名を指定します。また、HeaderName ディレクティブは生成されたインデックスリストの上部に表示したい内容を記述したファイル名を指定します。Turbolinux 10 Server の初期値は、 README.html と HEADER.html が指定されています。
IndexIgnore ディレクティブは、インデックスリストを生成する際に除外したいファイル名を指定します。ワイルドカードで指定することもできます。
このモジュールで提供される BrowserMatch 、BrowserMatchNoCase 、SetEnvIf 、SetEnvIfNoCase ディレクティブを使用すると、リクエストのある部分が指定の正規表現に合うかどうかで環境変数を設定することができます。 これらの環境変数を使用することでサーバーの動作を決定することができます。
BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0 BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully BrowserMatch "^WebDrive" redirect-carefully BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully BrowserMatch "^gnome-vfs" redirect-carefully |
ここで指定されている特別な環境変数の意味は以下の通りです。その他詳細は、Apache のオンラインマニュアル 「Apache の環境変数」を参照してください。
表 9-12. 特別な環境変数
| nokeepalive | keepalive を使用しません。 |
| downgrade-1.0 | HTTP/1.0 より新しいプロトコルからのリクエストを HTTP/1.0 として扱います。 |
| force-response-1.0 | HTTP/1.0 リクエストを発行するクライアントに対しては、HTTP/1.1 の応答は使用せず、常に HTTP/1.0 で応答します。通常、HTTP/1.1 の応答に問題の発生するクライアントへの回避策として設定されています。 |
| redirect-carefully | クライアントへのリダイレクト送信を注意深く行います。 通常、リダイレクトに問題のあるクライアントへの回避策として設定されています。 |
このモジュールは、ファイルの先頭にあるマジックナンバーから MIME タイプを判断する機能を提供します。このモジュールが提供する MIMEMagicFile ディレクティブでは、その定義ファイルへのパスを指定します。Turbolinux 10 Server の初期設定では以下のように指定されています。初期値の conf/magic を変更する必要はありません。
<IfModule mod_mime_magic.c>
MIMEMagicFile conf/magic
</IfModule> |
このモジュールは、ファイルの拡張子からそのファイルのタイプを判断する機能を提供します。また、ファイルにハンドラやフィルタを関連づける機能も提供しています。ハンドラについては項9.12、フィルタについては項9.13を参照してください。このモジュールに関連する代表的なディレクティブは以下の通りです。
TypesConfig file-path AddEncoding MIME-enc extension [extension] ... AddCharset charset extension [extension] ... AddLanguage MIME-lang extension [extension] ... AddType MIME-type extension [extension] ... AddHandler handler-name extension [extension] ... |
TypesConfig ディレクティブは、ファイルの拡張子からそのファイルのタイプを判断するための定義ファイルへのパスを指定します。初期値の /etc/mime.types を変更する必要はあるません。
AddEncoding ディレクティブは、エンコーディングのタイプと拡張子の対応を指定します。
AddLanguage ディレクティブは、言語と拡張子の対応を指定します。例えば、拡張子 .en には en(英語)、拡張子 .ja には ja(日本語)などが初期値として設定されています。<Directory> ディレクティブ内のアクセス制御設定で Options MultiViews が指定されていると、クライアントの Web ブラウザで設定されている言語の Web ページを表示させることができます。
AddType ディレクティブは、TypesConfig ディレクティブで定義した /etc/mime.types ファイルに記述されていない MIME タイプとファイルの拡張子との関連付けを行います。新しい MIME タイプは、mime.types を変更するのではなく、AddType ディレクティブで追加することが推奨されています。
AddHandler ディレクティブは、指定された拡張子を持つファイルとハンドラの関連付けを行うことで、ファイルの MIME タイプに依存しない動作の定義を行うことができます。ハンドラとはファイルをそのまま返すのではなく、あらかじめ決められた処理を行うための Apache 内部処理のことを言います。通常は、クライアントからリクエストされたファイルはそのままクライアントに送信されますが、CGI(Common Gateway Interface)スクリプト等の実行結果をクライアントへ渡したい場合などに指定します。(詳細は項9.12を参照)
このモジュールで提供される LanguagePriority ディレクティブを使用すると、MultiViews リクエストを扱うときに、クライアントが言語の優先順位を設定していない場合に返される優先順位を指定することができます。