at_yasu's blog

ロード的なことを

HEADER.htmlとREADME.htmlとmod_autoindex

Apacheの設定で、「Options +Indexes」とか書きますよね。あれは、index.htmlが無い場合、ディレクトリーの内容を表示せよと言うオプションです。

私の設定ファイルなどの溜め場所もそうなのですが、この場合は、Header.htmlでヘッダー部分を出して、README.htmlでディレクトリー一覧より下の部分を出しています。

その際の、.htaccessの必要な設定。ただし条件があって、Apacheは2.0.49以上*1もしくは、Apache 2.0.23以上*2で。


先ず、.htaccess

IndexOptions +SuppressHTMLPreamble +IconsAreLinks +FancyIndexing +XHTML
IndexOptions +HTMLTable +Charset=UTF-8


以下説明

IndexOptionsに設定をくわえます。+で追加、-で削除すると言う意味になります。

SuppressHTMLPreamble
Header.htmlを表示さした後に、ディレクトリー一覧を表示します。
IconsAreLinks
Iconにもリンクを貼ります
FancyIndexing
飾り付けインデックスをオンにします。つまり派手にする事。
XHTML
HTML3.2ではなくXHTML1.0で表示する。Apache2.0.49以上
HTMLTable
HTMLTableで表示します。Apache2.0.22以上
Charset
ドキュメントにありません。HTTPヘッダーのContent-typeで指定するcharset/文字コードを指定します。標準ではiso-8859-1です。Apache2.2.9では、ちゃんと動作します。追っかけしてないので、どのバージョンから使えるかは知りません。
Type
ドキュメントにありません。HTTPヘッダーのMimeTypeを指定します。標準ではtext/htmlです。


他にもいろいろオプションがあります。

参考:mod_autoindex - Apache HTTP サーバ バージョン 2.2

*1:HTML3.2でも問題ないというなら、2.0.48以下でも可

*2:ディレクトリー一覧をtable表記しないなら2.0.22以下でも可