.htaccess - mod_autoindex

AddAlt ディレクティブ

AddAlt ディレクティブは、IndexOptions ディレクティブの FancyIndexing オプションにおいて、アイコンの表示ができない場合の代替テキストを提供します。HTML の img タグで画像が提供できない場合に、alt 属性によって代替テキストが表示される場合と似ています。アイコンが表示できないケースとしては、画像の読み込みに失敗した場合や、読み込みを無効にしている場合などがあります。

以下は 本ディレクティブの構文となります。代替テキストは string に任意の文字列を設定します。文字列に空白がある場合は、' または " で囲む必要があります。file は代替テキストを提供する完全なファイル名、ファイル名の一部、ワイルドカード表現、拡張子のいずれかを指定します。複数のファイルを指定する場合は、半角スペースを空けて指定します。

# AddAlt ディレクティブの構文
AddAlt string file [file] ...
AddAlt ディレクティブの構文

以下の例では、PDF ファイルのアイコンが表示できない場合に "PDF file" と表示する設定例です。

# AddAlt ディレクティブの設定例
AddAlt "PDF file" *.pdf
AddAlt ディレクティブの設定例

AddAltByEncoding ディレクティブ

AddAltByEncoding ディレクティブは、IndexOptions ディレクティブの FancyIndexing オプションにおいて、アイコンの表示ができない場合、MIME 符号化方法で指定された代替テキストを提供します。MIME 符号化方法とは、例えば x-compress などです。その他は、AddAlt ディレクティブと同じなので、AddAlt ディレクティブを参照して下さい。

# AddAltByEncoding ディレクティブの構文
AddAltByEncoding string MIME-encoding [MIME-encoding] ...
AddAltByEncoding ディレクティブの構文
# AddAltByEncoding ディレクティブの設定例
AddAltByEncoding gzip x-gzip
AddAltByEncoding ディレクティブの設定例

AddAltByType ディレクティブ

AddAltByType ディレクティブは、IndexOptions ディレクティブの FancyIndexing オプションにおいて、アイコンの表示ができない場合、MIMEタイプ(Content-Type)で指定された代替テキストを提供します。MIMEタイプ(Content-Type)とは、例えば text/html などです。その他は、AddAlt ディレクティブと同じなので、AddAlt ディレクティブを参照して下さい。

# AddAltByType ディレクティブの構文
AddAltByType string MIME-type [MIME-type] ...
AddAltByType ディレクティブの構文
# AddAltByType ディレクティブの設定例
AddAltByType 'plain text' text/plain
AddAltByType ディレクティブの設定例

AddDescription ディレクティブ

AddDescription ディレクティブは、IndexOptions ディレクティブの FancyIndexing オプションにおいて、ファイルに対する説明文を設定できます。

以下は 本ディレクティブの構文となります。ファイルの説明文は string に任意の文字列を設定します。文字列に空白がある場合は、' または " で囲む必要があります。file は説明するファイルの完全なファイル名、ファイル名の一部、ワイルドカード表現、拡張子のいずれかを指定します。複数のファイルを指定する場合は、半角スペースを空けて指定します。

# AddIcon  ディレクティブの構文
AddDescription string file [file] ...
AddDescription ディレクティブの構文

デフォルトの説明領域は 23 Byte の幅となります。しかし、IndexOptions ディレクティブのアイコン、ファイルサイズ、最終更新日時を消すオプションを使用することにより、より広い幅が得られます。

  • SuppressIcon オプション (アイコンを消すオプション) で 6 Byte 追加
  • SuppressSize オプション (ファイルサイズを消すオプション) で 7 Byte 追加
  • SuppressLastModified オプション (最終更新日時を消すオプション) で 19 Byte 追加

そのため、説明文の最大幅は 55 Byte になります。最大幅の Byte 数を超えると、説明文の末尾に > が付与され、以降の文字列は省略されます。

# AddDescription  ディレクティブの設定例
AddDescription "The planet Mars" /web/pics/mars.gif
AddDescription ディレクティブの設定例

AddIcon ディレクティブ

AddIcon ディレクティブは、IndexOptions ディレクティブの FancyIndexing オプションにおいて、表示するアイコンを設定できます。以下の構文の icon には、表示するアイコンのパスを相対 URL か、他の書式 (alttext, url) で指定します。name には、ディレクトリを示す ^^DIRECTORY^^、空白行を示す ^^BLANKICON^^、完全なファイル名、ファイル名の一部、ワイルドカード表現、拡張子のいずれかを指定します。

# AddIcon  ディレクティブの構文
AddIcon icon name [name] ...
AddIcon ディレクティブの構文
# AddIcon ディレクティブの設定例
AddIcon (IMG,/icons/image.gif) .gif .jpg .png
AddIcon /icons/dir.gif ^^DIRECTORY^^
AddIcon /icons/backup.gif *
AddIcon ディレクティブの設定例

ただし、可能であれば本ディレクティブよりも、AddIconByType ディレクティブを優先的に使うべきです。AddIconByType ディレクティブは MIMEタイプ(Content-Type)毎に表示するアイコンを設定できるため、より本質的であると考えます。

AddIconByEncoding ディレクティブ

AddIconByEncoding ディレクティブは、IndexOptions ディレクティブの FancyIndexing オプションにおいて、表示するアイコンを MIME 符号化方法で設定できます。以下の構文の icon には、表示するアイコンのパスを相対 URL か、他の書式 (alttext, url) で指定します。MIME-encoding には、MIME 符号化方法に該当する文字列、またはワイルドカード表現が使用できます。

# AddIconByEncoding  ディレクティブの構文
AddIconByEncoding icon MIME-encoding [MIME-encoding] ...
AddIconByEncoding ディレクティブの構文
# AddIconByEncoding ディレクティブの設定例
AddIconByEncoding /icons/compress.xbm x-compress
AddIconByEncoding ディレクティブの設定例

AddIconByType ディレクティブ

AddIconByType ディレクティブは、IndexOptions ディレクティブの FancyIndexing オプションにおいて、表示するアイコンを MIME タイプ(Content-Type)で設定できます。以下の構文の icon には、表示するアイコンのパスを相対 URL か、他の書式 (alttext, url) で指定します。MIME-type には、リクエストされた MIME タイプ(Content-Type)に該当する文字列、またはワイルドカード表現が使用できます。

# AddIconByType ディレクティブの構文
AddIconByType icon MIME-type [MIME-type] ...
AddIconByType ディレクティブの構文
# AddIconByType ディレクティブの設定例
AddIconByType (IMG,/icons/image.gif) image/*
AddIconByType ディレクティブの設定例

DefaultIcon ディレクティブ

DefaultIcon ディレクティブは、IndexOptions ディレクティブの FancyIndexing オプションにおいて、表示するアイコンがない場合にデフォルトアイコンを設定できます。以下の構文の url-path には、アイコンへの相対パスを設定します。

# DefaultIcon ディレクティブの構文
DefaultIcon url-path
DefaultIcon ディレクティブの構文
# DefaultIcon ディレクティブの設定例
DefaultIcon /icon/unknown.gif
DefaultIcon ディレクティブの設定例

HeaderName ディレクティブ

HeaderName ディレクティブは、インデックスファイルの body タグの先頭に挿入するファイルの名前を設定できます。以下の構文の filename には、取り込むファイル名をインデックスファイルが表示されるディレクトリからの相対パスで指定します。/ から始まる場合は、DocumentRoot からの相対パスとなります

# HeaderName ディレクティブの構文
HeaderName filename
HeaderName ディレクティブの構文
# HeaderName ディレクティブの設定例
HeaderName HEADER.html
HeaderName ディレクティブの設定例

上記の例では、左の画像が HeaderName ディレクティブを利用していないデフォルトの状態です。右の画像が HeaderName ディレクティブを利用して sample.html から文字列を読み込んだ状態です。

IndexHeadInsert ディレクティブ

IndexHeadInsert ディレクティブは、インデックスファイルの head タグ内に挿入する文字列を設定できます。半角スペースを含む場合は、" で囲む必要があります。その際、タグ内で使われる "\ でエスケープが必要な点に注意して下さい。本ディレクティブは、Apache 2.2.11 以降で使用可能です。

# IndexHeadInsert ディレクティブの設定例
IndexHeadInsert "<link rel=\"sitemap\" href=\"/sitemap.html\">"
IndexHeadInsert ディレクティブの設定例

IndexIgnore ディレクティブ

IndexIgnore ディレクティブは、ディレクトリの一覧を表示させる前に、非表示にするファイルを設定します。以下の構文の file には、完全なファイル名、ワイルドカード表現が使えます。

# IndexIgnore ディレクティブの構文
IndexIgnore file [file] ...
IndexIgnore ディレクティブの構文
# IndexIgnore ディレクティブの設定例
IndexIgnore README .htaccess *.bak *~
IndexIgnore ディレクティブの設定例

本ディレクティブが複数設定されている場合は、非表示にするリストに追加が行われ、置換は行われません。また、デフォルト値として、カレントディレクトリを表す . が含まれています。

IndexOptions ディレクティブ

IndexOptions ディレクティブには、ディレクトリインデックスの挙動を設定できます。

# IndexOptions ディレクティブの設定例
IndexOptions FancyIndexing
IndexOptions ディレクティブの設定例
IndexOptions ディレクティブの設定値一覧
説明
DescriptionWidth=[n|*]説明文の幅を文字数で指定できます。
設定しない場合は、説明文の幅を自動調節します。
DescriptionWidth=n で、説明文の幅を n バイトに固定します。
DescriptionWidth=* で、説明文の幅を最長の長さまで伸ばします。
FancyIndexing飾り付きインデックスをオンにします。
FoldersFirst
(Apache 2.0.23 以降)
サブディレクトリがファイルよりも前に表示されます。このオプションは、FancyIndexing が有効である必要があります。
HTMLTable
(Apache 2.0.23 以降)
テーブルを使った単純な表を作り、ディレクトリ一覧を表現します。このオプションは、FancyIndexing が有効である必要があります。
IconsAreLinksFancyIndexing において、 アイコンもファイル名へのリンクの一部にします。このオプションは、FancyIndexing が有効である必要があります。
IconHeight[=pixels]アイコンの img タグに height 属性を指定できます。設定しない場合は、Apache で提供されているアイコンの標準の高さがデフォルトになります。
IconWidth[=pixels]アイコンの img タグに width 属性を指定できます。設定しない場合は、Apache で提供されているアイコンの標準の幅がデフォルトになります。
IgnoreCaseファイル名の大文字と小文字を区別せずにソートを行います。
IgnoreClientクライアントからのすべてのクエリー変数を無視します。ソートなどはクエリー変数を含むため、ファイルのソートもできなくなります。
NameWidth=[n|*]ファイル名の幅を文字数で指定できます。
設定しない場合は、ファイル名の幅を自動調節します。
NameWidth=n で、ファイル名の幅を n バイトに固定します。
NameWidth=* で、ファイル名の幅を最長の長さまで伸ばします。
ScanHTMLTitlesHTML ドキュメントから title タグ内の文字列を取り出しを許可します。もしも、AddDescription で説明文が無い場合、httpd は title タグの値を読むためにドキュメントを読み始めます。このオプションは、FancyIndexing が有効である必要があります。
ShowForbiddenサブリクエストの結果が HTTP_UNAUTHORIZED (HTTP 401エラー:許可なし) や、HTTP_FORBIDDEN (HTTP 403エラー:アクセス拒否) のファイルも一覧に表示します。
SuppressColumnSortingFancyIndexing で表示されている先頭行のソートを行うためのリンクをしなくなります。
SuppressDescriptionFancyIndexing におけるファイルの説明文の表示を消去します。
SuppressHTMLPreambleHeaderName ディレクティブで指定したファイルを body タグからではなく head タグから表示を行います。
SuppressIcon
(Apache 2.0.23 以降)
FancyIndexing におけるファイルのアイコンの表示を消去します。
SuppressLastModifiedFancyIndexing におけるファイルの最終更新日時の表示を消去します。
SuppressRules
(Apache 2.0.23 以降)
ディレクトリ一覧において水平区切り線 (hr タグ) を消去します。
SuppressSizeFancyIndexing におけるファイルのサイズの表示を消去します。
TrackModified
(Apache 2.0.23 以降)
HTTP ヘッダ中に、 ディレクトリの Last-Modified や ETag を含めます。
VersionSort
(Apache 2.0a3 以降)
バージョン番号を含んだファイルが自然な順番でソートされるようにします。文字列は通常通りソートされ、それ以外の "数" となる部分の文字列は数値で比較されます。
XHTML
(Apache 2.0.49 以降)
HTML 3.2 の代わりに XHTML 1.0 のコードを出力するようになります。

本ディレクティブのオプションは、上位ディレクトリから継承されたオプションを下位ディレクトリで +- を付けることで増減させることができます。下位ディレクトリで +- を付けずにオプション指定をした場合、上位ディレクトリから継承されたオプションはすべて破棄されて、下位ディレクトリで指定したオプションのみ有効になります。

IndexOrderDefault ディレクティブ

IndexOrderDefault ディレクティブは、IndexOptions ディレクティブの FancyIndexing オプションにおいて、標準のファイルの並び方を設定できます。本ディレクティブは、2 つの引数を設定します。1 つ目の引数は、昇順か降順かを指定する引数です。Ascending (昇順)、または Descending (降順) を指定します。2 つ目の引数は、ソートキーを指定する引数です。NameDateSizeDescription のいずれかを指定します。

# IndexOrderDefault ディレクティブの構文
IndexOrderDefault Ascending|Descending Name|Date|Size|Description
IndexOrderDefault ディレクティブの構文
# IndexOrderDefault ディレクティブの設定例
IndexOrderDefault Ascending Name
IndexOrderDefault ディレクティブの設定例

IndexStyleSheet ディレクティブ

IndexStyleSheet ディレクティブは、ディレクトリインデックスに使用される CSS を指定できます。

# IndexStyleSheet ディレクティブの構文
IndexStyleSheet "/css/style.css"
IndexStyleSheet ディレクティブの構文

ReadmeName ディレクティブ

ReadmeName ディレクティブは、インデックスファイルの body の閉じタグの直前に挿入するファイルの名前を設定できます。以下の構文の filename には、取り込むファイル名をインデックスファイルが表示されるディレクトリからの相対パスで指定します。/ から始まる場合は、DocumentRoot からの相対パスとなります

# ReadmeName ディレクティブの構文
HeaderName filename
ReadmeName ディレクティブの構文
# ReadmeName ディレクティブの設定例
ReadmeName /include/FOOTER.html
ReadmeName ディレクティブの設定例

関連記事