コンテンツ
index.htmlとは?
今回は、「index.html」とは何か?というお話です。
ホームページを公開する際、ページの内容に応じて様々な名称のHTMLファイルを作成します。
会社概要のページであれば「company.html」、地図ページであれば「map.html」など様々ですが、
必ず作成するHTMLファイルがありあます。
それが、index.htmlというもので、とても重要なHTMLファイルになります。
例えば、サイトのトップページのURLについて考えてみます。
トップページの階層には、必ずindex.htmlを置くので、
アクセスする際のURLは、https://example.com/index.html となります。
が、実際には、
ほとんどの場合、https://example.com/ の様にスラッシュ(/)終わりのURLにアクセスします。
これは、スラッシュ終わりのURLにアクセスすると、自動でindex.htmlを探して画面に表示してくれるためで、
Apache(WEBサーバ)側でそのように設定されています。
これにより、わざわざブラウザのアドレスバーにindex.htmlまで打たなくてもページを表示できるようになっています。
つまり、index.htmlというファイルがあれば、
そのファイルをトップページとして自動で認識してくれような便利な設定になっています。
index.html以外のindex(index.htmやindex.php、index.cgiなど)
最近は、PHPでサイトにプログラムを組み込むことが増えたので、
index.htmlではなく、index.phpをトップページに置いていることも多くなりましたが、
その場合も、index.phpを自動で認識してサイトを表示させてくれていると思います。
これは、index.htmlが置かれていない場合には、index.phpを探しにいくように設定されている為です。
正確には、index.htmやindex.cgi、index.shtmlなども自動で探しに行くように設定されていることが多く、
どのファイルをトップページとして優先的に表示するのかも設定されています。
これらの読み込む順番を変更することも可能で、一般的には、.htaccessを使って設定できます。
↓
index.html、index.phpの読み込み順を変更
何かの理由で、
index.html、index.phpを認識する順番を変更した場合があります。
その場合には、上記でも触れたように、.htaccessを使って設定するのが簡単です。
具体的には、
という1行を追加するだけです。
これにより、
index.phpを優先的に探しに行くようになります。
※もしindex.phpが無ければ、index.htmlを探します。
もし、index.htm、index.cgi、index.shtmlなど、他のファイルの優先順位も設定する場合には、
というように、順番に記述すればOKです。
index.htmlを自動で探しに行ってくれない場合
もしかすると、index.htmlやindex.phpを自動で認識してくれない場合があるかもしれないです。
その場合には、優先順位の変更と同様、
.htaccessに
の1行を追加して下さい。
最近の共用サーバであれば、
100%このindex.htmlやindex.phpを自動で認識するように設定されているので、
こちらの設定を行う機会はあまりないと思いますが。
Ruby(index.rb)やPython(index.py)をトップページとして認識させる
最近は、Ruby(Ruby on Rails)やPythonでサイトを構築する機会も増えてきました。
Rubyの場合だと「index.rb」、Pythonの場合だと「index.py」というファイルを作成するので、
これらをトップページとして認識させたい場合もあります。
この場合も同様、
.htaccessに
というように「DirectoryIndex」にindex.rbやindex.pyを追加すればOKです。
最後に
これらの設定変更は、Apacheの設定ファイルであるhttpd.confで設定することも可能です。
ただし、あまり大元はいじりたくないので、基本的には、.htaccessで設定するようにしましょう。
また、レンタルサーバによっては、httpd.confの編集は勿論のこと、.htaccessの使用も許可されていない場合もあります。
その場合には、これらの設定変更はあきらめて下さい。
私はある中央官庁のフロントエンジニアをしているのですが、同僚が素人ばかりの役人で「index.html」の意味がわかってくれまでせん。あろうことか現在では、「index.html」をディレクトリの中心ページに設定できないようにCMSを変えてしまっています。彼らを説得するのに絶対的な資料、話などありましたら、ご教授ください。その恥ずかしいサイト、官庁名は出せないのでご理解ください。よろしくお願いいたします。
返信が遅くなりすみません。
こればかりはWEB制作の経験がない方を説得するのはなかなか難しいのではないかと思います。
思い当たる資料などもないです。
ただ、個人的には「index.html」が無くても運用できているのであれば、そのままでもいいのではないかとも思います。