[APACHE DOCUMENTATION]

Apache HTTP Server Version 1.3

Module mod_autoindex

自動的にディレクトリのインデックスを作る機能を提供するモジュール。

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

概要

ディレクトリのインデックスは二つの情報源のうちの 一つから生成できます:

望むならば、自動インデックス生成を完全に除去 (あるいは置換) できるように、この二つの機能は分離されています。

自動インデックス生成は Options +Indexes を使うことで有効になります。詳細については、 Options ディレクティブをご覧下さい。

もし FancyIndexing オプションが 有効になっているか、 IndexOptions ディレクティブに FancyIndexing が与えられているならば、 列の先頭は表示の順番を制御するリンクになります。 先頭のリンクを選択すると、一覧は再生成されて その列の値でソートされます。 同じ先頭を続けて選択すると、交互に昇順と降順とになります。

"Size" でソートした場合は、用いられるのは 実際のファイルのサイズであって、 表示の値ではないことに注意してください - たとえ両方ともが "1K" と表示されていたとしても、 1010 バイトのファイルは必ず 1011 バイトのファイルよりも前 (昇順の場合) に表示されます。

ディレクティブ

参照: OptionsDirectoryIndex

Autoindex リクエストクエリー引数

コラムソートのヘッダ自体が、ディレクトリのリストの順番を変更する 自分自身を参照するリンクです。クエリーオプションは 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 を見てください。

ディレクトリのリストが、あるコラムのどちらかの方向(昇順または降順) を指定された場合、そのコラムの上部にあるリンクは逆順になり、 同じコラムの逆方向でのソートを可能にします。


AddAlt ディレクティブ

構文: AddAlt string file [file] ...
コンテキスト: サーバ設定ファイル、 バーチャルホスト、ディレクトリ、.htaccess
上書き: Indexes
ステータス: Base
モジュール: mod_autoindex

これは FancyIndexing において、アイコンの代わりに表示する代替テキストを設定します。 File は、説明するファイルのファイル拡張子、 ファイル名の一部、ワイルドカード表現、完全なファイル名の どれかになります。 String は二重引用符 (") で囲みます。 この文字列は、クライアントが画像を表示できない場合や 画像のロードを無効にしている場合に表示されます。

例:

    AddAlt "PDF" *.pdf
    AddAlt "Compressed" *.gz *.zip *.Z
    

AddAltByEncoding ディレクティブ

構文: AddAltByEncoding string MIME-encoding [MIME-encoding] ...
コンテキスト: サーバ設定ファイル、 バーチャルホスト、ディレクトリ、.htaccess
上書き: Indexes
ステータス: Base
モジュール: mod_autoindex

これは、 FancyIndexing において、アイコンの代わりに表示する代替文字列を設定します。 MIME-encoding は有効な符号化、例えば x-compress です。 String は、二重引用符 (") で囲みます。 この文字列は、クライアントが画像を表示できない場合や 画像のロードを無効にしている場合に表示されます。

例:

    AddAltByEncoding "gzip" x-gzip
    

AddAltByType ディレクティブ

構文: AddAltByType string MIME-type [MIME-type] ...
コンテキスト: サーバ設定ファイル、 バーチャルホスト、ディレクトリ、.htaccess
上書き: Indexes
ステータス: Base
モジュール: mod_autoindex

これは、 FancyIndexing において、アイコンの代わりに表示する代替文字列を設定します。 MIME-type は有効なタイプ、例えば text/html です。 String は、二重引用符 (") で囲みます。 この文字列は、クライアントが画像を表示できない場合や 画像のロードを無効にしている場合に表示されます。

例:

    AddAltByType "TXT" text/plain
    

AddDescription ディレクティブ

構文: AddDescription "string" file|directory [file|directory] ...
コンテキスト: サーバ設定ファイル、 バーチャルホスト、ディレクトリ、.htaccess
上書き: Indexes
ステータス: Base
モジュール: mod_autoindex

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 マークアップを含むことができます。 もし、説明コラムの幅によってタグ付けされた要素が丸め込まれた (太字の語句の最後が切れるといった) 場合、 出力結果は、ディレクトリ一覧の残りの部分に影響を与えるでしょう。


AddIcon ディレクティブ

構文: AddIcon icon name [name] ...
コンテキスト: サーバ設定ファイル、 バーチャルホスト、ディレクトリ、.htaccess
上書き: Indexes
ステータス: Base
モジュール: mod_autoindex

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 を優先的に使うべきでしょう。


AddIconByEncoding ディレクティブ

構文: AddIconByEncoding icon MIME-encoding [MIME-encoding] ...
コンテキスト: サーバ設定ファイル、 バーチャルホスト、ディレクトリ、.htaccess
上書き: Indexes
ステータス: Base
モジュール: mod_autoindex

FancyIndexing において、MIME-encoding のファイルの隣に表示するアイコンを設定します。 icon は、(% でエスケープされた) アイコンへの相対 URL か、他の書式 (alttext, url) です。 ここで alttext は、非グラフィカルブラウザ向けにアイコンに付けられたテキストタグです。

MIME-encoding は、要求されたエンコードに該当する ワイルドカード表現です。例:

AddIconByEncoding /icons/compressed.gif x-compress

AddIconByType ディレクティブ

構文: AddIconByType icon MIME-type [MIME-type] ...
コンテキスト: サーバ設定ファイル、 バーチャルホスト、ディレクトリ、.htaccess
上書き: Indexes
ステータス: Base
モジュール: mod_autoindex

FancyIndexing において、ファイルの隣に表示するアイコンを設定します。 icon は、(% でエスケープされた) アイコンへの相対 URL か、他の書式 (alttext, url) です。 ここで alttext は、非グラフィカルブラウザ向けにアイコンに付けられたテキストタグです。

MIME-type は、要求されたタイプに該当する ワイルドカード表現です。例:

AddIconByType (IMG,/icons/image3.gif) image/*

DefaultIcon ディレクティブ

構文: DefaultIcon url
コンテキスト: サーバ設定ファイル、 バーチャルホスト、ディレクトリ、.htaccess
上書き: Indexes
ステータス: Base
モジュール: mod_autoindex

DefaultIcon ディレクティブは FancyIndexing において、 特定のアイコンがない場合のファイルに表示するアイコンを設定します。 url は、(% でエスケープされた) アイコンへの相対 URL です。例:

DefaultIcon /icon/unknown.xbm

FancyIndexing ディレクティブ

構文: FancyIndexing on|off
コンテキスト: サーバ設定ファイル、バーチャルホスト、ディレクトリ、.htaccess
上書き: Indexes
ステータス: Base
モジュール: mod_autoindex

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 ディレクティブ

構文: HeaderName filename
コンテキスト: サーバ設定ファイル、 バーチャルホスト、ディレクトリ、.htaccess
上書き: Indexes
ステータス: Base
モジュール: mod_autoindex
互換性: いくつかの機能は 1.3.6 以降でのみ使用可能

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 ディレクティブ

構文: IndexIgnore file [file] ...
コンテキスト: サーバ設定ファイル、 バーチャルホスト、ディレクトリ、.htaccess
上書き: Indexes
ステータス: Base
モジュール: mod_autoindex

IndexIgnore ディレクティブは、 ディレクトリの一覧を行なう際に無視すべきファイルリストに追加します。 file は、無視するファイル名のファイル拡張子か、ファイル名の一部か、 ワイルドカード表現か完全なファイル名です。 IndexIgnore が複数ある場合は、無視するリストに追加が行なわれ、 置換は行なわれません。デフォルトではリストには `.' が含まれています。例:

IndexIgnore README .htaccess *~

IndexOptions ディレクティブ

構文: IndexOptions option [option] ... (Apache 1.3.2 以前)
構文: IndexOptions [+|-]option [[+|-]option] ... (Apache 1.3.3 以降)
コンテキスト: サーバ設定ファイル、 バーチャルホスト、ディレクトリ、.htaccess
上書き: Indexes
ステータス: Base
モジュール: mod_autoindex
互換性: '+/-' 構文と 複数の IndexOptions ディレクティブのマージは Apache 1.3.3 以降でのみ使用可能。FoldersFirstDescriptionWidth オプションは Apache 1.3.10 以降でのみ 使用可能。TrackModified オプションは Apache 1.3.15 以降 でのみ使用可能。IgnoreCase オプションは Apache 1.3.24 以降でのみ使用可能

IndexOptions は、ディレクトリインデックスの挙動を指定します。 option は次のどれかです:

DescriptionWidth=[n | *] (Apache 1.3.10 以降)
DescriptionWidth キーワードは説明コラムの幅を文字数で指定することができます。 キーワードの値が '*' の場合のコラムの幅は、 表示される中で最も長いファイル名の長さに自動的に合わされます。 説明が丸め込まれた場合に起こりうる危険については AddDescription セクションをお読み下さい。
FancyIndexing
飾り付きインデックスをオンにします。
1.3.2 以前のバージョンの Apache では、 FancyIndexing 及び IndexOptions ディレクティブは互いに上書きしてしていたことに注意してください。 単独の FancyIndexing ディレクティブよりも IndexOptions FancyIndexing を使うべきです。 Apache 1.3.2 では単独 FancyIndexing ディレクティブは現在の範囲に対して既に指定された IndexOptions ディレクティブと組み合わされます。
FoldersFirst (Apache 1.3.10 以降)
このオプションが有効になると FancyIndex されたリストは常にサブディレクトリが最初に、 続いて通常のファイルが表示されます。 リストは基本的に二つの部分、ファイルとサブディレクトリに分けられ、 それぞれが別々にソートされてまずサブディレクトリから表示されます。 たとえば、ソートが名前の降順で FoldersFirst が有効であれば、サブディレクトリ Zed がサブディレクトリ Beta より前に、またこれらは 通常のファイル GammaAlpha より前に表示されます。このオプションは FancyIndexing も有効である場合に限り効果があります。
IconHeight[=pixels] (Apache 1.3 以降)
このオプションが、IconWidth とともに使われている場合は、 サーバはファイルアイコンのための img タグに heightwidth 属性を取り込むようになります。 これによって、イメージ全てをロードし終わるまで待たなくても、 ブラウザはページレイアウトをあらかじめ計算することができます。 このオプションに何も値が与えられなければ、Apache ソフトウェアで提供されているアイコンの標準の高さが デフォルトとなります。
IconsAreLinks
これは、FancyIndexing において、 アイコンもファイル名へのリンクの一部にします。
IconWidth[=pixels] (Apache 1.3 以降)
このオプションが、IconHeight とともに使われている場合は、 サーバはファイルアイコンのための IMG タグに HEIGHTWIDTH 属性を取り込むようになります。 これによって、イメージ全てをロードし終わるまで待たなくても、 ブラウザはページレイアウトをあらかじめ計算することができます。 このオプションに何も値が与えられなければ、Apache ソフトウェアで提供されているアイコンの標準の高さが デフォルトとなります。
IgnoreCase (Apache 1.3.24 以降)
このオプションが有効であると、 ファイル名は大文字小文字を区別せずにソートされます。 例えばファイル名が昇順でソートされ、IgnoreCase が有効であれば、Zetaalfa の後にリストされます(注意: GAMMA は常に gamma の前になります)。このオプションは FancyIndexing も有効である場合に限り効果があります。
NameWidth=[n | *] (Apache 1.3.2 以降)
NameWidth キーワードでファイル名コラムの幅をバイト数で 指定できます。キーワードの値が '*' の場合のコラムの幅は、 表示される中で最も長いファイル名の長さに自動的に合わされます。
ScanHTMLTitles
FancyIndexing のために、 HTML ドキュメントからタイトルを取り出すことを可能にします。 もしファイルに AddDescription で説明が与えられていなければ、 httpd は TITLE タグの値を読むためにドキュメントを読み始めます。 これは CPU や disk に負荷をかけます。
SuppressColumnSorting
もし指定されていれば、Apache は FancyIndexing で表示されているディレクトリ一覧でのコラムの見出しを、 ソートのためのリンクにしなくなります。 デフォルトの挙動は、リンクとします。 コラムの見出しを選ぶとコラムの値に従ってディレクトリリストを ソートします。Apache 1.3 以降でのみ使用可能。
SuppressDescription
これは FancyIndexing におけるファイルの説明を消去します。 デフォルトでは、説明は定義されておらず、 このオプションを使うと他のために 23 文字の空白を稼ぐことができます。 ファイルの説明に関する情報は、 AddDescription をご覧下さい。また、説明のコラムサイズを制限する DescriptionWidth インデックスオプションもご覧下さい。
SuppressHTMLPreamble (Apache 1.3 以降)
通常、 HeaderName ディレクティブで指定したファイルを ディレクトリが実際に含んでいれば、標準的な HTML プリアンブル (<HTML>, <HEAD> ) の後に、 モジュールはファイルの中身をインクルードします。 SuppressHTMLPreamble オプションはこの挙動を無効にし、 モジュールがヘッダファイルの中身から表示を始めます。 この場合、ヘッダファイルは正しい HTML 命令を含んでいなければなりません。 ヘッダファイルが存在しない場合は、プリアンブルは通常通り 生成されます。
SuppressLastModified
FancyIndexing 一覧において最終更新日時の表示を消去します。
SuppressSize
FancyIndexing 一覧においてファイルサイズの表示を消去します。
TrackModified (Apache 1.3.15 以降)
これは HTTP ヘッダ中に、 リストされたディレクトリの最終更新日や ETag 値を含めます。 これは、オペレーティングシステムやファイルシステムが 適切な stat() の返り値を返す場合にのみ有効です。 たいていの UNIX システム、OS2 の JFS や Win32 の NTFS ボリュームはそうなっています。 例えば、OS2 と Win32 FAT ボリュームはそうではありません。 この機能が有効になると、クライアントやプロキシは HEAD リクエストを行なうことによって、 ファイル一覧の変化を追跡することができるようになります。 いくつかのオペレーティングシステムは、新規ファイルや 移動ファイルは正しく追跡するけれども、 ディレクトリ中のファイルのサイズや日付は追跡しないということに 注意してください。

最近の (1.3.0 より後の) バージョンの Apache はこのディレクティブの挙動に重要な違いがあります。

Apache 1.3.2 以前:

デフォルトではどのオプションも有効ではありません。複数の IndexOptions を適用することができ、もっとも詳細なものが採用されます; options はマージされません。 例:

<Directory /web/docs>
    IndexOptions FancyIndexing
</Directory>
<Directory /web/docs/spec>
    IndexOptions ScanHTMLTitles
</Directory>
/web/docs/spec に対して ScanHTMLTitles だけが設定されます。
Apache 1.3.3 以降:

Apache 1.3.3 introduced some significant changes in the handling of IndexOptions directives. In particular,

'+' または '-' が頭につくキーワードを見つけると、現在の IndexOptions の設定(上位ディレクトリから引き継いでいることもあります) に対して適用します。しかし、頭につかないキーワードが処理されると それまでに引き継いだ options や増減の設定をクリアしてしまいます。 以下の例を考えてください:

IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing
IndexOptions +SuppressSize

正味の結果は IndexOptions FancyIndexing +SuppressSize と同等になります。頭に付かない FancyIndexing はそれ以前の増減キーワードを無効にしますが、 その後から再び設定を追加していくことができます。

あるディレクトリに対して、無条件に IndexOptions を設定するにはキーワードの頭に '+' 及び '-' のどちらもつけないことにより引き継がれた設定をクリアします。


IndexOrderDefault ディレクティブ

構文: IndexOrderDefault Ascending|Descending Name|Date|Size|Description
コンテキスト: サーバ設定ファイル、 バーチャルホスト、ディレクトリ、.htaccess
上書き: Indexes
ステータス: Base
モジュール: mod_autoindex
互換性: IndexOrderDefault は Apache 1.3.4 以降でのみ使用可能。

IndexOrderDefault ディレクティブは FancyIndexing インデックスオプションと併せて用いれます。 デフォルトでは、FancyIndexing のディレクトリ一覧はファイル名の昇順で表示されます。 IndexOrderDefault で、初期状態の表示順番を変えることができます。

IndexOrderDefault は二つの引数をとります。一つ目はソートの方向を指示する AscendingDescending のいずれかです。 二つ目の引数は Name, Date, SizeDescription のいずれか一つのキーワードであって、プライマリキーを指定します。 二つ目のキーは常にファイル名の昇順になります。

このディレクティブと SuppressColumnSorting インデックスオプションとを組み合わせることで、 ディレクトリ一覧をある特定の順番でのみ表示するようにできます。 これは、 クライアントが別の順番でディレクトリ一覧をリクエストすることを防ぎます。

ReadmeName ディレクティブ

構文: ReadmeName filename
コンテキスト: サーバ設定ファイル、 バーチャルホスト、ディレクトリ、.htaccess
上書き: Indexes
ステータス: Base
モジュール: mod_autoindex
互換性: いくつかの機能は 1.3.6 以降でのみ 使用可能

ReadmeName ディレクティブは、 インデックスの終わりに付け加えられるファイルの名前を設定します。 filename は挿入するファイルの名前で、 一覧の行なわれている位置から相対的なものとして解釈されます。

filename 引数は Apache 1.3.6 以前ではファイル名の一部、 後のバージョンでは相対 URI として扱われます。 これがどのように処理されるのかということについての詳細は HeaderName ディレクティブの説明に見つけられます。 これは同じ機構を使い、ReadmeNameと同時に変更することができます。

参照 HeaderName


Apache HTTP Server Version 1.3

Index Home