ディレクトリ中のファイルやサブディレクトリを自動的にリスト表示してくれる機能の動作を変更します。
ディレクトリリストは便利な機能ではありますが、あまりリストを見せたくない、むしろ隠したい時もあります(よね?)。
リストさせないためにダミーのindexファイルをアップロードしている人もいます。しかし.htaccessが使用できる場合、Optionsを指定することで簡単に解決できます。(サーバ側の設定でOptionsの使用が許可されている必要があります。)
Options [+|-]オプション [+|-]オプション ...
Options -Indexes
たったこれだけ、簡単です。もし、局所的にディレクトリリストを使いたい場所があったら、そこの.htaccessファイルに、-
の代わりに+
を使って、
Options +Indexes
と書き込みます。これでそのディレクトリ以下に対してはリスト表示されるようになります。逆に一部でディレクトリリストを表示させないようにすることもできますね。
これより後では、ディレクトリリストを使用する場合の見栄えの変更を行います。アイコンなどを表示するにはFancyIndexingが有効になっている必要があります。
IndexOptions +FancyIndexing Apache 1.3.3以降 IndexOptions FancyIndexing FancyIndexing on 非推奨
IndexOptions [+|-]オプション [+|-]オプション ...
(+,-はApache 1.3.3以降から)
但しFancyIndexingはサーバに少し負担が掛かるので、必要が無いならoffにするのもいいかもしれません。
IndexOptions -FancyIndexing Apache 1.3.3以降 FancyIndexing off 非推奨
ディレクトリリストは表示したものの、ファイルアイコンが?
のものもあるのではないでしょうか。これでは寂しいので、アイコンを付けましょう。標準のアイコンが気に入らない場合も置き換えることができます。
AddIcon アイコンの(相対)URL ファイル名 [ファイル名 [...]]
AddIcon (代替テキスト,アイコンの(相対)URL) ファイル名 [ファイル名 [...]]
AddIconByType アイコンの(相対)URL MIMEタイプ [MIMEタイプ [...]]
AddIconByType (代替テキスト,アイコンの(相対)URL) MIMEタイプ [MIMEタイプ [...]]
DefaultIcon 標準アイコンの(相対)URL
^^DIRECTORY^^とすることで全てのディレクトリを対象にできます。
^^BLANKICON^^でヘッダのアイコン列部分の画像も指定できます。
AddIcon /icons/directory.png ^^DIRECTORY^^ AddIcon (LHA,/icons/lzh.png) .lzh AddIconByTypeが望ましい AddIconByType (LHA,/icons/lzh.png) application/x-lha-compressed AddIconByType (LHA,/icons/image.png) image/* AddIcon /icons/special.png /user/www/files/special.file
代替テキストのみ指定することもできます。
AddAlt "代替テキスト" ファイル名 [ファイル名 [...]]
AddAltByType "代替テキスト" MIMEタイプ [MIMEタイプ [...]]
表示されたディレクトリリストをよく見てみるとDescriptionという項目があるのに気付いたでしょうか。ファイルに関する短い説明書きを付け加えることができます。
AddDescription "説明書き" ファイル名 [ファイル名 [...]]
文字数が足りない場合は表示項目を減らしたり表示幅を増やすことで対処できます。
IndexOptions +DescriptionWidth=n +や-はApache 1.3.3以降、DescriptionWidthは1.3.10以降 IndexOptions +NameWidth=n IndexOptions +SuppressLastModified +SuppressSize +SuppressDescription
アイコンに使われるimgタグのwidth, height属性を指定することでアイコンの幅と高さを固定することもできます。
IndexOptions +IconWidth=n +IconHeight=n
IconWidthとIconHeightは両方指定する必要があります。片方だけでは有効になりません。
標準ではアイコンの部分はただの画像ですが、オプションを指定すればアイコンもアンカーに含めることができます。
IndexOptions +IconsAreLinks