ディレクトリのデフォルトファイルを変更する

ブラウザからURLを入力する際に、例えば「http://www.7ke.jp/」と入力すると、実際には「http://www.7ke.jp/index.html」が表示されています。これは、スラッシュ(/)で終わるURIのリクエストがあったときに、「index.html」ファイルが表示される設定となっているからですが、ここではこのデフォルトファイルの変更をする方法を紹介します。以下の記述を「.htaccess」ファイル内に追加して下さい。

DirectoryIndex index.html index.shtml top.html index.php

これは、スラッシュ(/)で終わるURIのリクエストがあった場合に、「index.html」→「index.shtml」→「top.html」→「index.php」の順に探し、該当ファイルが見つかればレスポンスを返しなさい、という命令になっています(DirectoryIndex リファレンスを参照)。この指定により、例えば「index.cgi」ファイルをトップページに指定することも可能となります。

余談ではありますが、スラッシュ(/)で終わるURIリクエストがあった場合に、該当するファイルが見つからなかったら・・・Apacheサーバは「ディレクトリインデックス」なるファイル一覧を表示しますよね。本当にこのようなものを表示させたい場合は別ですが、大抵の場合は余計なお世話であるだけでなく、セキュリティ低下にも繋がります。また、ファイル一覧を取得して、表示させるため、パフォーマンス低下の原因にもなりかねません。以下に、スラッシュ(/)で終わるURIリクエストがあった場合に、デフォルトファイルがない場合はエラーを返す設定を加えておきます。

Options -Indexes

たった一行を「.htaccess」に加えるだけです(DirectoryIndex リファレンスを参照)。