ステータス: Base
ソースファイル:
mod_autoindex.c
モジュール識別子:
autoindex_module
ディレクトリのインデックスは二つの情報源のうちの 一つから生成できます:
index.html
と呼ばれる
ユーザによって書かれたファイル。
DirectoryIndex
ディレクティブでこのファイル名を設定します。
これは mod_dir
で
制御されます。望むならば、自動インデックス生成を完全に除去 (あるいは置換) できるように、この二つの機能は分離されています。
自動インデックス生成は Options +Indexes
を使うことで有効になります。詳細については、
Options
ディレクティブをご覧下さい。
もし FancyIndexing オプションが 有効になっているか、 IndexOptions ディレクティブに FancyIndexing が与えられているならば、 列の先頭は表示の順番を制御するリンクになります。 先頭のリンクを選択すると、一覧は再生成されて その列の値でソートされます。 同じ先頭を続けて選択すると、交互に昇順と降順とになります。
"Size" でソートした場合は、用いられるのは 実際のファイルのサイズであって、 表示の値ではないことに注意してください - たとえ両方ともが "1K" と表示されていたとしても、 1010 バイトのファイルは必ず 1011 バイトのファイルよりも前 (昇順の場合) に表示されます。
参照: Options と DirectoryIndex。
コラムソートのヘッダ自体が、ディレクトリのリストの順番を変更する 自分自身を参照するリンクです。クエリーオプションは X=Y の形式で、X には N (file Name), M (file last Modified date), S (file Size), D (file Description) の中から一つ、Y には A (Ascending) または D (Descending) のどちらかが入ります。
ファイル名以外がソートのキーとして使われた場合は、 ファイル名が常に二つ目のキーとなります。 (ソートにファイル名が使われた場合は二つ目のキーは必要ありません。 ファイル名は一意であることが保証されているので、ソート順は 確定するからです。)
例:
URL http://your.server.name/foo/ がディレクトリインデクスを生成する場合、以下の URL では異なるソート順が生成されます:
ディレクトリのデフォルトの順序の設定は IndexOrderDefault を見てください。
ディレクトリのリストが、あるコラムのどちらかの方向(昇順または降順) を指定された場合、そのコラムの上部にあるリンクは逆順になり、 同じコラムの逆方向でのソートを可能にします。
これは FancyIndexing
において、アイコンの代わりに表示する代替テキストを設定します。
File は、説明するファイルのファイル拡張子、
ファイル名の一部、ワイルドカード表現、完全なファイル名の
どれかになります。
String は二重引用符 ("
)
で囲みます。
この文字列は、クライアントが画像を表示できない場合や
画像のロードを無効にしている場合に表示されます。
例:
AddAlt "PDF" *.pdf AddAlt "Compressed" *.gz *.zip *.Z
これは、
FancyIndexing
において、アイコンの代わりに表示する代替文字列を設定します。
MIME-encoding は有効な符号化、例えば
x-compress
です。
String は、二重引用符 ("
) で囲みます。
この文字列は、クライアントが画像を表示できない場合や
画像のロードを無効にしている場合に表示されます。
例:
AddAltByEncoding "gzip" x-gzip
これは、
FancyIndexing
において、アイコンの代わりに表示する代替文字列を設定します。
MIME-type は有効なタイプ、例えば
text/html
です。
String は、二重引用符 ("
) で囲みます。
この文字列は、クライアントが画像を表示できない場合や
画像のロードを無効にしている場合に表示されます。
例:
AddAltByType "TXT" text/plain
Index OptionsFancyIndexing
において、ファイルとディレクトリに対して表示する説明を設定します。
file|directory は説明するファイルやディレクトリのファイル拡張子、
ファイル名の一部、ディレクトリ名、ワイルドカード表現、完全なファイル名か
ディレクトリ名のどれかになります。
String は二重引用符 ("
) で囲みます。
AddDescription "The planet Mars"
/web/pics/mars.gif
説明領域は 23 バイトの幅です。ディレクトリに対して
IndexOptions SuppressSize
オプションが有効になっていれば 7 バイト追加、
IndexOptions SuppressLastModified
オプションが有効になっていれば 19 バイト追加されます。
ですから、デフォルトの説明コラムの最大幅は
49 バイトになります。
Apache 1.3.10 から、DescriptionWidth IndexOptions キーワードを使うことで、この幅を 任意の大きさに調整することができます。警告:
AddDescription で定義された説明テキストは、タグや文字列といった HTML マークアップを含むことができます。 もし、説明コラムの幅によってタグ付けされた要素が丸め込まれた (太字の語句の最後が切れるといった) 場合、 出力結果は、ディレクトリ一覧の残りの部分に影響を与えるでしょう。
FancyIndexing において、 name で終わるファイルの隣に表示するアイコンを設定します。 icon は、(% でエスケープされた) アイコンへの相対 URL か、他の書式 (alttext, url) です。 ここで alttext は、非グラフィカルブラウザ向けにアイコンに付けられたテキストタグです。
name は、ディレクトリに対応する ^^DIRECTORY^^ か、空白行に対応する ^^BLANKICON^^ (一覧が正しく表示されるために) か、 ファイル拡張子か、ワイルドカード表現か、ファイル名の一部か 完全なファイル名です。例:
AddIcon (IMG,/icons/image2.gif) .gif .jpg .png
AddIcon /icons/dir.gif ^^DIRECTORY^^
AddIcon /icons/backup.gif *~
もし可能なら、AddIcon より AddIconByType を優先的に使うべきでしょう。
FancyIndexing において、MIME-encoding のファイルの隣に表示するアイコンを設定します。 icon は、(% でエスケープされた) アイコンへの相対 URL か、他の書式 (alttext, url) です。 ここで alttext は、非グラフィカルブラウザ向けにアイコンに付けられたテキストタグです。
MIME-encoding は、要求されたエンコードに該当する ワイルドカード表現です。例:
AddIconByEncoding /icons/compressed.gif
x-compress
FancyIndexing において、ファイルの隣に表示するアイコンを設定します。 icon は、(% でエスケープされた) アイコンへの相対 URL か、他の書式 (alttext, url) です。 ここで alttext は、非グラフィカルブラウザ向けにアイコンに付けられたテキストタグです。
MIME-type は、要求されたタイプに該当する ワイルドカード表現です。例:
AddIconByType (IMG,/icons/image3.gif) image/*
DefaultIcon ディレクティブは FancyIndexing において、 特定のアイコンがない場合のファイルに表示するアイコンを設定します。 url は、(% でエスケープされた) アイコンへの相対 URL です。例:
DefaultIcon /icon/unknown.xbm
FancyIndexing ディレクティブはディレクトリの FancyIndexing オプションを設定します。The IndexOptions directive should be used in preference.
1.3.2 以前のバージョンの Apache では、 FancyIndexing 及び IndexOptions ディレクティブは互いに上書きしてしていたことに注意してください。 単独の FancyIndexing ディレクティブよりも IndexOptions FancyIndexing を使うべきです。 Apache 1.3.2 では単独 FancyIndexing ディレクティブは現在の範囲に対して既に指定された IndexOptions ディレクティブと組み合わされます。
HeaderName ディレクティブは、 インデックス一覧の先頭に挿入するファイルの名前を設定します。 Filename は取り込むファイルの名前です。
Filename はインデックスされているディレクトリに用いられた URI に対する相対 URI パスとして扱われます。 これは、filename がスラッシュで始まる場合は、 DocumentRoot からの相対パスとなるということです。
Filename はメジャーコンテントタイプが "text" (例えば、text/html, text/plain 等です。) のドキュメントとして解決されなければなりません。これはつまり、 もし CGI スクリプトの実際のファイルタイプが 次のディレクティブのようにして実際の出力とは異なって text/html としてマークされている場合、 filename は CGI スクリプトを参照するかも知れない、 ということを意味します:
AddType text/html .cgi
MultiViews option が有効になっている場合は、 コンテントネゴシエーション が行なわれます。 もし filename が (CGI スクリプトでない) 静的な text/html ドキュメントで解決され、 Includes option が有効になっている場合は、 ファイルはサーバサイドインクルードで処理されます (mod_include ドキュメントを参照して下さい)。
もし HeaderName で指定されたファイルが HTML ドキュメントの開始部分 (<HTML>, <HEAD>, 等) を含んでいたら、 IndexOptions +SuppressHTMLPreamble を設定して、これらのタグが繰り返されないようにしたいと思うでしょう。
Apache 1.3.6 以前: モジュールは最初に filename.html
を HTML 文書として include を試みます。それから filename をプレーンテキストとして include しようとします。Filename はインデクスされる ディレクトリからのファイルシステムの相対パスとして扱われます。 SSI 処理は絶対に行なわれません。例:ディレクトリHeaderName HEADER
/web
がインデクスされるとき、サーバは最初に/web/HEADER.html
という HTML ファイルを探し見つかればそれを include します。それから/web/HEADER
というプレーンテキストのファイルを、 存在すれば include します。
参照 ReadmeName。
IndexIgnore ディレクティブは、
ディレクトリの一覧を行なう際に無視すべきファイルリストに追加します。
file は、無視するファイル名のファイル拡張子か、ファイル名の一部か、
ワイルドカード表現か完全なファイル名です。
IndexIgnore が複数ある場合は、無視するリストに追加が行なわれ、
置換は行なわれません。デフォルトではリストには `.
'
が含まれています。例:
IndexIgnore README .htaccess *~
IndexOptions は、ディレクトリインデックスの挙動を指定します。 option は次のどれかです:
1.3.2 以前のバージョンの Apache では、 FancyIndexing 及び IndexOptions ディレクティブは互いに上書きしてしていたことに注意してください。 単独の FancyIndexing ディレクティブよりも IndexOptions FancyIndexing を使うべきです。 Apache 1.3.2 では単独 FancyIndexing ディレクティブは現在の範囲に対して既に指定された IndexOptions ディレクティブと組み合わされます。
img
タグに height
と width
属性を取り込むようになります。
これによって、イメージ全てをロードし終わるまで待たなくても、
ブラウザはページレイアウトをあらかじめ計算することができます。
このオプションに何も値が与えられなければ、Apache
ソフトウェアで提供されているアイコンの標準の高さが
デフォルトとなります。NameWidth
キーワードでファイル名コラムの幅をバイト数で
指定できます。キーワードの値が '*' の場合のコラムの幅は、
表示される中で最も長いファイル名の長さに自動的に合わされます。
最近の (1.3.0 より後の) バージョンの Apache はこのディレクティブの挙動に重要な違いがあります。
デフォルトではどのオプションも有効ではありません。複数の IndexOptions を適用することができ、もっとも詳細なものが採用されます; options はマージされません。 例:
/web/docs/spec に対して<Directory /web/docs> IndexOptions FancyIndexing </Directory> <Directory /web/docs/spec> IndexOptions ScanHTMLTitles </Directory>
ScanHTMLTitles
だけが設定されます。
Apache 1.3.3 introduced some significant changes in the handling of IndexOptions directives. In particular,
IndexOptions FancyIndexing ScanHTMLTitles
と同等になります。'+' または '-' が頭につくキーワードを見つけると、現在の IndexOptions の設定(上位ディレクトリから引き継いでいることもあります) に対して適用します。しかし、頭につかないキーワードが処理されると それまでに引き継いだ options や増減の設定をクリアしてしまいます。 以下の例を考えてください:
IndexOptions +ScanHTMLTitles -IconsAreLinks
FancyIndexing
IndexOptions +SuppressSize
正味の結果は
IndexOptions FancyIndexing +SuppressSize
と同等になります。頭に付かない FancyIndexing
はそれ以前の増減キーワードを無効にしますが、
その後から再び設定を追加していくことができます。
あるディレクトリに対して、無条件に IndexOptions
を設定するにはキーワードの頭に '+' 及び '-'
のどちらもつけないことにより引き継がれた設定をクリアします。
IndexOrderDefault ディレクティブは FancyIndexing インデックスオプションと併せて用いれます。 デフォルトでは、FancyIndexing のディレクトリ一覧はファイル名の昇順で表示されます。 IndexOrderDefault で、初期状態の表示順番を変えることができます。
IndexOrderDefault は二つの引数をとります。一つ目はソートの方向を指示する Ascending か Descending のいずれかです。 二つ目の引数は Name, Date, Size か Description のいずれか一つのキーワードであって、プライマリキーを指定します。 二つ目のキーは常にファイル名の昇順になります。
このディレクティブと SuppressColumnSorting インデックスオプションとを組み合わせることで、 ディレクトリ一覧をある特定の順番でのみ表示するようにできます。 これは、 クライアントが別の順番でディレクトリ一覧をリクエストすることを防ぎます。
ReadmeName ディレクティブは、 インデックスの終わりに付け加えられるファイルの名前を設定します。 filename は挿入するファイルの名前で、 一覧の行なわれている位置から相対的なものとして解釈されます。
filename 引数は Apache 1.3.6 以前ではファイル名の一部、 後のバージョンでは相対 URI として扱われます。 これがどのように処理されるのかということについての詳細は HeaderName ディレクティブの説明に見つけられます。 これは同じ機構を使い、ReadmeNameと同時に変更することができます。
参照 HeaderName