Apache HTTP サーバ バージョン 2.3
説明: | Unix の ls コマンドや
Win32 の dir シェルコマンドに似た
ディレクトリインデックスを生成する |
---|---|
ステータス: | Base |
モジュール識別子: | autoindex_module |
ソースファイル: | mod_autoindex.c |
ディレクトリのインデックスは二つの情報源のうちの 一つから生成できます:
index.html
と呼ばれる
ユーザによって書かれたファイル。
DirectoryIndex
ディレクティブでこのファイル名を設定します。
これは mod_dir
で制御されます。AddIcon
, AddIconByEncoding
と
AddIconByType
を使うことで、様々なファイルタイプに対してアイコン一覧を
セットします。つまり、リストされたファイル毎に、
ファイルにマッチした一番最初のアイコンが表示されます。
これらは mod_autoindex
で制御されます。望むならば、自動インデックス生成を完全に除去 (あるいは置換) できるように、この二つの機能は分離されています。
自動インデックス生成は Options +Indexes
を使うことで有効になります。詳細については、
Options
ディレクティブをご覧下さい。
もし FancyIndexing
オプションが
IndexOptions
ディレクティブに与えられているならば、
列の先頭は表示の順番を制御するリンクになります。
先頭のリンクを選択すると、一覧は再生成されて
その列の値でソートされます。
同じ先頭を続けて選択すると、交互に昇順と降順とになります。
これらの列の先頭のリンクは、
IndexOptions
ディレクティブの
SuppressColumnSorting
オプションで消すことができます。
"Size" でソートした場合は、用いられるのは 実際のファイルのサイズであって、 表示の値ではないことに注意してください - たとえ両方ともが "1K" と表示されていたとしても、 1010 バイトのファイルは必ず 1011 バイトのファイルよりも前 (昇順の場合) に表示されます。
Apache 2.0.23 で、
コラムソートのためにクエリー引数を再編成して、
新しいクエリーオプションのグループを導入しました。
出力に対するクライアントのすべての制御を効率的に抹消
できるように、
IndexOptions
IgnoreClient
が導入されました。
コラムソートのヘッダそれ自体が、 下記のソートクエリーオプションを付加する 自分自身を参照するリンクです。 下記のオプションのどれでも、 ディレクトリリソースへのリクエストに加えることができます。
C=N
は、ファイル名でソートします。C=M
は、更新日時、
ディレクトリ、ファイル名の順でソートします。C=S
は、サイズ、
ディレクトリ、ファイル名の順でソートします。C=D
は、説明、
ディレクトリ、ファイル名の順でソートします。O=A
は、昇順で表をソートします。O=D
は、降順で表をソートします。F=0
は、単純な表の書式にします。
(FancyIndex ではありません。)F=1
は、FancyIndex
表示の表の書式にします。F=2
は、表を HTML
のテーブルを使った FancyIndex の書式にします。V=0
は、バージョンによるソートを無効にします。V=1
は、バージョンによるソートを有効にします。P=pattern
は、与えられた pattern
に適合したファイルのみを表示します。"P (パターンの P)" クエリー引数は、
通常の IndexIgnore
ディレクティブが処理された後に検査され、
ファイル名全てが、他の autoindex
リスト処理と同様の判定基準下に置かれ続ける
ことに注意してください。
mod_autoindex
のクエリー引数パーサ (解析) は、
認識不能なオプションにぶつかると即座に停止します。
クエリー引数は上の表に従って
正しい形式になっていなければなりません。
下の単純な例は、これらのクエリーオプションを 表します。これをそのまま切り取って HEADER.html ファイルに保存することもできます。 mod_autoindex が X=Go 入力にぶつかる前に 引数が全て解釈されるように、 未知の引数 "X" はリストの最後に置かれています。
<form action="" method="get">
Show me a <select name="F">
<option value="0"> Plain list</option>
<option value="1" selected="selected"> Fancy list</option>
<option value="2"> Table list</option>
</select>
Sorted by <select name="C">
<option value="N" selected="selected"> Name</option>
<option value="M"> Date Modified</option>
<option value="S"> Size</option>
<option value="D"> Description</option>
</select>
<select name="O">
<option value="A" selected="selected"> Ascending</option>
<option value="D"> Descending</option>
</select>
<select name="V">
<option value="0" selected="selected"> in Normal order</option>
<option value="1"> in Version order</option>
</select>
Matching <input type="text" name="P" value="*" />
<input type="submit" name="X" value="Go" />
</form>
説明: | アイコンの代わりに 表示される、ファイル名で選択された代替テキスト |
---|---|
構文: | AddAlt string file [file] ... |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
上書き: | Indexes |
ステータス: | Base |
モジュール: | mod_autoindex |
AddAlt
は、FancyIndexing
において、アイコンの代わりに表示する代替テキストを提供します。
file は、説明するファイルのファイル拡張子、
ファイル名の一部、ワイルドカード表現、完全なファイル名の
どれかになります。
string に空白がある場合は引用符 ("
か '
) で囲む必要があります。
この文字列は、クライアントが画像を表示できない場合や
画像のロードを無効にしている場合や
アイコンの取得に失敗したときに表示されます。
AddAlt "PDF file" *.pdf
AddAlt Compressed *.gz *.zip *.Z
説明: | アイコンの代わりに表示される、MIME 符号化方法で選択された 代替テキスト |
---|---|
構文: | AddAltByEncoding string MIME-encoding
[MIME-encoding] ... |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
上書き: | Indexes |
ステータス: | Base |
モジュール: | mod_autoindex |
AddAltByEncoding
は、
FancyIndexing
において、アイコンの代わりに表示する代替文字列を提供します。
MIME-encoding は有効な符号化、例えば
x-compress
です。
string に空白があるときは、引用符 ("
か
'
) で囲む必要があります。
この文字列は、クライアントが画像を表示できない場合や
画像のロードを無効にしている場合や
アイコンの取得に失敗したときに表示されます。
AddAltByEncoding gzip x-gzip
説明: | アイコンの代わりに 表示される、MIME タイプで選択された代替テキスト |
---|---|
構文: | AddAltByType string MIME-type
[MIME-type] ... |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
上書き: | Indexes |
ステータス: | Base |
モジュール: | mod_autoindex |
AddAltByType
は、
FancyIndexing
において、アイコンの代わりに表示する代替文字列を設定します。
MIME-type は有効なタイプ、例えば
text/html
です。
string に空白があるときは、引用符 ("
か
'
) で囲む必要があります。
この文字列は、クライアントが画像を表示できない場合や
画像のロードを無効にしている場合や
アイコンの取得に失敗したときに表示されます。
AddAltByType 'plain text' text/plain
説明: | ファイルに対して表示する説明 |
---|---|
構文: | AddDescription string file [file] ... |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
上書き: | Indexes |
ステータス: | Base |
モジュール: | mod_autoindex |
FancyIndexing
において、ファイルに対して表示する説明を設定します。
file は説明するファイルのファイル拡張子、
ファイル名の一部、ワイルドカード表現、完全なファイル名の
どれかになります。
string は二重引用符 ("
) で囲まれます。
AddDescription "The planet Mars" /web/pics/mars.gif
通常のデフォルトの説明領域は 23 バイトの幅です。
IndexOptions SuppressIcon
オプションで 6 バイト追加、
IndexOptions SuppressSize
オプションで 7 バイト追加、
IndexOptions SuppressLastModified
オプションで 19 バイト追加されます。
ですから、デフォルトの説明コラムの最大幅は
55 バイトになります。
このコラムの大きさを上書きしたり、
説明が無制限長でもよいようにするための詳細に関しては、
DescriptionWidth
という
IndexOptions
のキーワードをご覧下さい。
AddDescription
で定義された説明テキストは、タグや文字列といった
HTML マークアップを含むことができます。
もし、説明コラムの幅によってタグ付けされた要素が丸め込まれた
(太字の語句の最後が切れるといった) 場合、
出力結果は、ディレクトリ一覧の残りの部分に影響を与えるでしょう。
説明: | ファイルに表示するアイコンを名前で選択 |
---|---|
構文: | AddIcon icon name
[name] ... |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
上書き: | Indexes |
ステータス: | Base |
モジュール: | mod_autoindex |
FancyIndexing
において、
name で終わるファイルの隣に表示するアイコンを設定します。
icon は、(% でエスケープされた) アイコンへの相対 URL
か、他の書式 (alttext, url) です。
ここで alttext
は、非グラフィカルブラウザ向けにアイコンに付けられたテキストタグです。
name は、ディレクトリに対応する ^^DIRECTORY^^
か、空白行に対応する ^^BLANKICON^^
(一覧が正しく表示されるために) か、
ファイル拡張子か、ワイルドカード表現か、ファイル名の一部か
完全なファイル名です。
AddIcon (IMG,/icons/image.xbm) .gif .jpg .xbm
AddIcon /icons/dir.xbm ^^DIRECTORY^^
AddIcon /icons/backup.xbm *~
もし可能なら、
AddIcon
より
AddIconByType
を優先的に使うべきでしょう。
説明: | ファイルに表示するアイコンを MIME 符号化方法で選択 |
---|---|
構文: | AddIconByEncoding icon MIME-encoding
[MIME-encoding] ... |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
上書き: | Indexes |
ステータス: | Base |
モジュール: | mod_autoindex |
FancyIndexing
において、ファイルの隣に表示するアイコンを設定します。
icon は、(% でエスケープされた) アイコンへの相対 URL
か、他の書式 (alttext, url)
です。
ここで alttext
は、非グラフィカルブラウザ向けにアイコンに付けられたテキストタグです。
MIME-encoding は、有効なコンテントエンコーディング、
例えば x-compress
です。
AddIconByEncoding /icons/compress.xbm x-compress
説明: | ファイルの隣に表示するアイコンを MIME タイプによって選択 |
---|---|
構文: | AddIconByType icon MIME-type
[MIME-type] ... |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
上書き: | Indexes |
ステータス: | Base |
モジュール: | mod_autoindex |
FancyIndexing
において、ファイルの隣に表示するアイコンを設定します。
icon は、(% でエスケープされた) アイコンへの相対 URL
か、他の書式 (alttext, url)
です。
ここで alttext
は、非グラフィカルブラウザ向けにアイコンに付けられたテキストタグです。
MIME-type は、要求されたタイプに該当する ワイルドカード表現です。
AddIconByType (IMG,/icons/image.xbm) image/*
説明: | 特定のアイコンが何も設定されていない時に ファイルに表示するアイコン |
---|---|
構文: | DefaultIcon url-path |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
上書き: | Indexes |
ステータス: | Base |
モジュール: | mod_autoindex |
FancyIndexing
において、
特定のアイコンがない場合にファイルに表示するアイコンを設定します。
url-path は、(% でエスケープされた) アイコンへの相対 URL
です。
DefaultIcon /icon/unknown.xbm
説明: | インデックス一覧の先頭に挿入されるファイルの名前 |
---|---|
構文: | HeaderName filename |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
上書き: | Indexes |
ステータス: | Base |
モジュール: | mod_autoindex |
HeaderName
ディレクティブは、
インデックス一覧の先頭に挿入するファイルの名前を設定します。
Filename は取り込むファイルの名前です。
HeaderName HEADER.html
HeaderName も ReadmeName
も両方とも現在は、filename
をインデックスされているディレクトリに用いられた URI
に対する相対 URI パスとして扱います。
filename がスラッシュで始まる場合は、
DocumentRoot
からの相対パスとなります。
HeaderName /include/HEADER.html
filename は
メジャーコンテントタイプが "text/*
"
(例えば、text/html
,
text/plain
等です。)
のドキュメントとして解決
されなければなりません。これはつまり、
もし CGI スクリプトの実際のファイルタイプが
次のディレクティブのようにして実際の出力とは異なって
text/html
としてマークされている場合、
filename
は CGI スクリプトを参照するかも知れない、
ということを意味します:
AddType text/html .cgi
Options
MultiViews
が
有効になっている場合は、
コンテントネゴシエーション
が行なわれます。
もし filename が (CGI スクリプトでない) 静的な
text/html
ドキュメントで解決され、
options
Includes
か IncludesNOEXEC
が有効になっている場合は、
ファイルはサーバーサイドインクルードで処理されます
(mod_include
ドキュメントを参照して下さい)。
もし HeaderName
で指定されたファイルが
HTML ドキュメントの開始部分 (<html>, <head>,
等) を含んでいたら、
IndexOptions
+SuppressHTMLPreamble
を設定して、これらのタグが繰り返されないようにしたいと思うでしょう。
説明: | インデックスページの HEAD セクションにテキストを挿入する |
---|---|
構文: | IndexHeadInsert "markup ..." |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
上書き: | Indexes |
ステータス: | Base |
モジュール: | mod_autoindex |
IndexHeadInsert
ディレクティブを使って
インデックスとして生成されたHTMLの <head> セクションに
挿入する文字列を指定します。
IndexHeadInsert "<link rel=\"sitemap\" href=\"/sitemap.html\">"
説明: | ディレクトリ一覧を行なう際に無視すべき ファイルリストに追加 |
---|---|
構文: | IndexIgnore file [file] ... |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
上書き: | Indexes |
ステータス: | Base |
モジュール: | mod_autoindex |
IndexIgnore
ディレクティブは、
ディレクトリの一覧を行う際に無視すべきファイルリストに追加します。
file は、
シェル形式のワイルドカード表現か完全なファイル名です。
IndexIgnore が複数ある場合は、無視するリストに追加が行われ、
置換は行われません。デフォルトではリストには .
(カレントディレクトリ) が含まれています。
IndexIgnore README .htaccess *.bak *~
説明: | ディレクトリインデックスの様々な設定項目 |
---|---|
構文: | IndexOptions [+|-]option [[+|-]option] ... |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
上書き: | Indexes |
ステータス: | Base |
モジュール: | mod_autoindex |
IndexOptions
は、ディレクトリインデックスの挙動を指定します。
option は次のどれかです:
Charset
キーワードで、
生成されるページの文字セットを指定できます。
下位のファイルシステムが Unicode ベースかどうかに依存しますが、
デフォルト値は ISO-8859-1 か UTF-8
になります。
IndexOptions Charset=UTF-8
Type
キーワードで、
生成されるページの MIME コンテントタイプを指定できます。
デフォルト値は text/html になります。
IndexOptions Type=text/plain
DescriptionWidth
キーワードは説明コラムの幅を文字数で指定することができます。-DescriptionWidth
(または非設定) で、
mod_autoindex
が最適な幅を計算するようにできます。DescriptionWidth=n
で、コラム幅を n バイトに固定します。DescriptionWidth=*
は、最長の説明に合わせて必要な長さまでコラムを延ばします。AddDescription
セクションをお読み下さい。FoldersFirst
が有効になっている場合は、
サブディレクトリ Zed
はサブディレクトリ
Beta
よりも前にリストされ、通常のファイル
Gamma
や Alpha
よりも前にリストされます。このオプションは
FancyIndexing
も有効になっているときにのみ有効です。FancyIndexing
とともに指定することで、
飾りの付いたディレクトリ一覧のためにテーブルを使った単純な表を作ります。
これは古いブラウザを混乱させるかもしれないことに注意してください。
WinNT やその他 utf-8
が有効なプラットホームのように、ファイル名や説明テキストが
右読みになったり左読みになりえる場合は特に必要です。IconWidth
とともに
使われている場合は、サーバはファイルアイコンのための
img
タグに height
と width
属性を取り込むようになります。
これによって、イメージ全てをロードし終わるまで待たなくても、
ブラウザはページレイアウトをあらかじめ計算することができます。
このオプションに何も値が与えられなければ、Apache
ソフトウェアで提供されているアイコンの標準の高さが
デフォルトなります。IconHeight
とともに使われている場合は、
サーバはファイルアイコンのための img
タグに height
と width
属性を取り込むようになります。
これによって、イメージ全てをロードし終わるまで待たなくても、
ブラウザはページレイアウトをあらかじめ計算することができます。
このオプションに何も値が与えられなければ、Apache
ソフトウェアで提供されているアイコンの標準の高さが
デフォルトなります。IgnoreCase
が有効であれば、
Zeta は alfa の後にリストされます
(注意: GAMMA は常に gamma の前になります)。mod_autoindex
は、
クライアントからの全てのクエリー変数を無視するようになります。
これはソート順も含みます。
(つまり SuppressColumnSorting
も有効になります。)NameWidth
キーワードでファイル名コラムの幅をバイト数で
指定できます。-NameWidth
(または非設定) で、
mod_autoindex
が最適な幅を計算するようにできます。NameWidth=n
で、コラム幅を n バイトに固定します。NameWidth=*
は、必要な長さまでコラムを延ばします。AddDescription
で説明が与えられていなければ、
httpd は title
タグの値を読むためにドキュメントを読み始めます。
これは CPU や disk に負荷をかけます。HTTP_UNAUTHORIZED
や
HTTP_FORBIDDEN
のファイルは一覧に表示しません。
このオプションを指定すると、そのようなファイルも一覧に表示します。IndexOptions
IgnoreClient
で制御されるようになっています。AddDescription
をご覧下さい。また、説明のコラムサイズを制限する
DescriptionWidth
インデックスオプションもご覧下さい。HeaderName
ディレクティブで指定したファイルを
ディレクトリが実際に含んでいれば、標準的な HTML プリアンブル
(<html>
, <head>
, 等) の後に、
モジュールはファイルの中身をインクルードします。
SuppressHTMLPreamble
オプションは、
この挙動を無効にできて、
モジュールがヘッダーファイルの中身から表示を始めます。
この場合、ヘッダーファイルは正しい HTML
命令を含んでいなければなりません。
ヘッダーファイルが存在しない場合は、プリアンブルは通常通り
生成されます。SuppressIcon
と SuppressRules
と組合わせることによって正しい HTML 3.2 の出力が得られます。
HTML 3.2 の最終規格は、 img
と hr
が pre
ブロックに入る (FancyIndexing 一覧で書式に使われています)
ことを禁止しています。hr
タグ) を消去します。
SuppressIcon
と SuppressRules
と組合わせることによって正しい HTML 3.2 の出力が得られます。
HTML 3.2 の最終規格は、 img
と hr
が pre
ブロックに入る (FancyIndexing 一覧で書式に使われています)
ことを禁止しています。Last-Modified
や
ETag
を含めます。
これは、オペレーティングシステムやファイルシステムが
適切な stat() の返り値を返す場合にのみ有効です。
いくつかの UNIX システム、OS2 の JFS や Win32 の NTFS
ボリュームはそうなっています。
例えば、OS2 と Win32 FAT ボリュームはそうではありません。
この機能が有効になると、クライアントやプロキシは
HEAD
リクエストを行うことによって、
ファイル一覧の変化を追跡することができるようになります。
オペレーティングシステムによっては、新規ファイルや
移動ファイルは正しく追跡するけれども、
ディレクトリ中のファイルのサイズや日付は追跡しないということに
注意してください。
既に存在するファイルのサイズや日付のスタンプが変化しても、
全ての Unix プラットホームでは、
Last-Modified
ヘッダーを更新しません。
もしこれが重要であれば、
このオプションを無効のままにしてください。VersionSort
キーワードはバージョン番号を含んだファイルが
自然な方法でソートされるようにします。
文字列は通常通りソートされ、
それ以外の、説明や名前中の数となる部分文字列は
その数値で比較されます。
foo-1.7
foo-1.7.2
foo-1.7.12
foo-1.8.2
foo-1.8.2a
foo-1.12
番号が 0 から始まる場合は、端数と考えられます
foo-1.001
foo-1.002
foo-1.030
foo-1.04
XHTML
キーワードを指定すると、mod_autoindex
は HTML 3.2 の代わりに XHTML 1.0 のコードを出力するようになります。Apache 1.3.3 では、
IndexOptions
ディレクティブの扱いで幾つかの大きな変化が導入されました。
特に、
IndexOptions
ディレクティブは、現在では一つにマージされます。
<Directory /foo>
IndexOptions HTMLTable
IndexOptions SuppressColumnsorting
</Directory>
の結果は、次の指定と同一の結果になります。
IndexOptions HTMLTable SuppressColumnsorting
'+' や '-' 接頭辞の付いたキーワードに出会うとそれは、
その時点での IndexOptions
の設定 (これは上流のディレクトリを受け継ぎます)
に対して適応されます。
しかしながら、接頭辞の付かないキーワードが処理された場合は、
受け継いだオプション全てとそれまで出会った増減設定全てが
消去されます。次の例を考えてみてください:
IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing
IndexOptions +SuppressSize
最終的な効果は
IndexOptions FancyIndexing +SuppressSize
と同一です。
接頭辞の付かない FancyIndexing
でそれ以前の増減キーワードは無効になり、
その後の累積が始まるからです。
あるディレクトリにおいて上位のディレクトリに指定された設定に影響されることなく
IndexOptions
を設定したい場合、
+
や -
接頭辞の付かないキーワードで設定してください。
説明: | ディレクトリインデックスの標準の順番付けを設定 |
---|---|
構文: | IndexOrderDefault Ascending|Descending
Name|Date|Size|Description |
デフォルト: | IndexOrderDefault Ascending Name |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
上書き: | Indexes |
ステータス: | Base |
モジュール: | mod_autoindex |
IndexOrderDefault
ディレクティブは
FancyIndexing
インデックスオプションと併せて用いられます。
デフォルトでは、FancyIndexing
のディレクトリ一覧はファイル名の昇順で表示されます。
IndexOrderDefault
で、初期状態の表示順番を変えることができます。
IndexOrderDefault
は二つの引数をとります。一つ目はソートの方向を指示する
Ascending
か Descending
のいずれかです。
二つ目の引数は Name
, Date
,
Size
か Description
のいずれか一つのキーワードであって、1つ目のソートキーを指定します。
2つ目のソートキーは常にファイル名の昇順になります。
このディレクティブと SuppressColumnSorting
インデックスオプションとを組み合わせることで、
ディレクトリ一覧をある特定の順番でのみ表示するようにできます。
これは、
クライアントが別の順番でディレクトリ一覧をリクエストすることを防ぎます。
説明: | ディレクトリインデックスに CSS スタイルシートを追加する |
---|---|
構文: | IndexStyleSheet url-path |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
上書き: | Indexes |
ステータス: | Base |
モジュール: | mod_autoindex |
IndexStyleSheet
ディレクティブは
インデックス表示に使用される CSS のファイル名を設定します。
IndexStyleSheet "/css/style.css"
説明: | インデックス一覧の最後に挿入されるファイルの名前 |
---|---|
構文: | ReadmeName filename |
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
上書き: | Indexes |
ステータス: | Base |
モジュール: | mod_autoindex |
ReadmeName
ディレクティブは、
インデックスの終わりに付け加えられるファイルの名前を設定します。
filename は挿入するファイルの名前で、
一覧の行われている位置から相対的なものとして解釈されます。
filename がスラッシュで始まる場合は、
DocumentRoot
からの相対パスとなります。
ReadmeName FOOTER.html
ReadmeName /include/FOOTER.html
より詳細にまでこの挙動について記述している HeaderName
もご覧下さい。