Apache module mod_dir

### Apache HTTP Server Version 1.3

# mod_dir モジュール

このモジュールは、スラッシュで終わる URL へのリクエストがあった際に、 ディレクトリインデックスファイルへリダイレクトして提供します。

ステータス: Base
ソースファイル: mod_dir.c
モジュール識別子: dir_module

## 概要

ディレクトリインデックスは、次の二つのうちどちらかが利用されます。

- 一つ目は、ユーザが作成したファイルを用いるもので、通常 `index.html` というファイル名を使います。このファイル名は、 DirectoryIndex ディレクティブで 指定することができます。この機能は `mod_dir` モジュールで提供されます。
- もう一つの方法は、 サーバによって自動的に生成されるディレクトリリストを用いる場合です。 この機能は、`mod_autoindex` モジュールにより提供されます。

自動的なインデックス生成機能を削除 (もしくは交換) できるように、この二つの機能は分離されています。

なお `http://servername/foo/dirname` という URL へのリクエストがあった際に、`dirname` というディレクトリがあれば、「最後にスラッシュをつけた形」の URL へのリダイレクトを送出します。 ディレクトリへのアクセスはスラッシュで終わっている必要があり、 `mod_dir` は、`http://servername/foo/dirname/` へのリダイレクトを送出することになります。

## ディレクティブ

- DirectoryIndex

## DirectoryIndex ディレクティブ

構文: DirectoryIndex local-url [local-url] ...
デフォルト: `DirectoryIndex index.html`
コンテキスト: server config, virtual host, directory, .htaccess
上書き: Indexes
ステータス: Base
モジュール: mod_dir

クライアントが、ディレクトリ名の最後に「/」 を指定してディレクトリインデックスを要求する場合に探すリソースのリストを DirectoryIndex ディレクティブで設定します。Local-url は、リクエストされたディレクトリに対応する、サーバ上のドキュメントの (% エンコードされた) URL で、普通はディレクトリ中のファイルの名前です。 複数の URL が設定された場合には、最初に見つかったものを返します。 それらが見つからず、`Indexes` オプションがセットされている場合、ディレクトリのリストを生成します。

例:

> `DirectoryIndex index.html`

`http://myserver/docs/` へのアクセスがあり、 `http://myserver/docs/index.html` が存在すれば、この URL が返されます。 もし存在しなければ、ディレクトリのリストが返されます。

注: ドキュメントは同じディレクトリ内に存在する必要ありません。

> `DirectoryIndex index.html index.txt /cgi-bin/index.pl`

とした場合、`index.html` と `index.txt` のどちらもディレクトリ内で存在しない場合、CGI スクリプト `/cgi-bin/index.pl` が実行されます。

### Apache HTTP Server Version 1.3