下記の2つのアドレスにアクセスすると、同じ内容のページが表示されます。
これは、ファイル名(上記の場合は index.htm )を省略した場合は、そのフォルダの中にある index.html や index.htm を探して、これを表示するという Web サーバーの機能によって実現されています。
index.html と index.htm どちらが優先されるかは、Web サーバーの設定によって異なります。index.html → index.htm の順番が多いとは思いますが、設定によっては、index.html しか探さない場合もあります。Microsoft の IIS の初期の設定では、index.html や index.htm ではなく、default.htm を探します。設定を変更すれば、hajimeni.html を表示させることも可能です。どのファイルも探さず、ファイル名を省略すると常にエラーを返す設定もあります。
アドレスを公開したりリンクしたりするときに、index.html や index.htm を省略した方がよいか、省略しない方がよいかの議論があります。
ホームページのアドレスを公開する場合は、短い、覚え易いなどの理由から省略している人が多いようです。もちろん、省略しないアドレスも間違いではありません。
○ http://~/ ○ http://~/index.html
「トップに戻る」などのリンクの場合は、メリットとデメリットがあります。例えば、http://~/ からアクセスしてきたユーザーが下層のページにとび、「トップに戻る」のリンクから http://~/index.html のページに戻る場合、http://~/ と http://~/index.html はアドレスが異なるため別ページであると認識され、ブラウザのキャッシュ機能が有効に働きません。
△ http://~/index.html ※ キャッシュが非効率になることも
かと言って index.html を省略すると、自前のパソコンでの作成時など、http://~ で始まらないアドレスでページにアクセスした時に index.html を探す機能が働かず、ファイルの一覧が表示されてしまったりします。
△ http://~/ ※ ローカル環境でindex.htmlにジャンプできない
私の場合、公開アドレスはやはり短くしたいので公開は省略形を、リンクはダウンロード版もあるので省略しない方法を選択していますが、皆さんはいかがでしょうか。
httpd.conf ファイル(管理者のみ変更可能)に、下記の記述を行うことにより、index.html → index.htm の順で探すことを指示できます。変更後は Apache の再起動が必要です。
DirectoryIndex index.html index.htm
index.html も index.htm も見つからなかったときに、そのフォルダの中のファイルの一覧を表示させるには、以下の記述を行います。
Options Indexes
httpd.conf の AllowOverride で FileInfo Options が指定されていれば、上記の記述を各フォルダの .htaccess ファイルで指定することも可能です。
AllowOverride Options
※ FileInfo → Options に誤記修正(2003.3.2)
AN HTTPD(Ver1.28d)では、[オプション]-[一般] でオプションダイアログを表示し、[一般]-[デフォルトインデックス] で省略時のファイル名を、[表示/インデックス] で省略時にファイルの一覧表示を許可するかどうかを指定します。