さくらサーバの.htaccess
以下は古い情報で、今は一部を除き設定可能になっている。
ディレクトリ一覧を非表示
ディレクトリの内容一覧を非表示にする一般的な方法は、.htaccessに以下を記述する。
Options -Indexes
しかし、さくらのレンタルサーバでは、Optionsの設定を.htaccessで書き換えることが許可されていない。そのため、別の方法を模索する。
DirectoryIndex
は、(ファイルでは無く)ディレクトリに対してアクセスがあったとき、代表として表示するファイルを指定する設定項目だ。
例えば、.htaccessに以下のように記述する。
DirectoryIndex index.php index.html
すると、そのディレクトリにアクセスがあると、index.phpが表示されるようになる。index.phpが無いと、続くファイルを順に探索する。全て見つからなければディレクトリの内容一覧を表示する。
そこで、Apacheのルート(さくらサーバでは/home/(account)/www
)直下に、適当にエラーページ(error.html)を作り、.htaccessに以下を指定する。
DirectoryIndex index.html /error.html
こうすると、index.htmlの見つからないディレクトリに対しては、error.htmlが表示され、内容一覧は表示されない。
めでたしめでたし。