ディレクトリのインデックスの一覧は、
Options +IndexesOptions ディレクティブ - core - Apache HTTP サーバ バージョン 2.2
とすることで、
のように表示されるようになります。この表示を無効としたいならば、
Options -Indexes
とします。以降はレスポンスで「403 Forbidden」が返されるようになり、
のような表示となります。
ディレクトリの一覧を非表示にする目的で、
DirectoryIndex index.html /error.html
のようにエラーページへリダイレクトするのは不適切です。これではレスポンスで「200」が返され、人間以外にはそれがエラーであることが認識できなくなります。よって、
<FilesMatch "^\.ht"> Order Allow,Deny Deny from all </FilesMatch>
のようにアクセスを拒否するファイルがあるならば、
DirectoryIndex index.htm .ht
としてそのファイルを返します。こうすることで「403」となります。
ファイルとフォルダが混在していては判別しがたいため、これを分けて表示するようにします。
IndexOptions +FancyIndexing IndexOptions +FoldersFirstIndexOptions ディレクティブ
これは、
IndexOptions +FancyIndexing +FoldersFirst
のように記述しても同じ意味です。結果は下図のようになります。
上の図で「aa/」より「Ab/」が上になるのは、大文字と小文字が区別してソートされているためです。これを大文字と小文字の区別なくソートするには、
IndexOptions +IgnoreCase
を追加します。
一覧に表示したくないファイルがある場合には、
IndexIgnore *.ini _settingsIndexIgnore ディレクティブ - mod_autoindex - Apache HTTP サーバ バージョン 2.2
のようにします。
アイコンが「?」ではファイルの種類を判別しがたいため、
AddIcon /icons/script.gif .jsAddIcon ディレクティブ
とするとアイコンを変更できます。
既定のアイコンは、Apacheのインストール フォルダのApache Software Foundation/Apache2.2/iconsにあり、パスを/icons/とすると、このフォルダを指定することになります。