ホームページ(homepage)

index.htmlとは(indexの優先順位も)【初心者向け】

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を使って設定するのが簡単です。

具体的には、

DirectoryIndex index.php index.html

という1行を追加するだけです。

これにより、
index.phpを優先的に探しに行くようになります。
※もしindex.phpが無ければ、index.htmlを探します。

もし、index.htm、index.cgi、index.shtmlなど、他のファイルの優先順位も設定する場合には、

DirectoryIndex index.php index.html index.htm index.cgi index.shtml

というように、順番に記述すればOKです。

index.htmlを自動で探しに行ってくれない場合

もしかすると、index.htmlやindex.phpを自動で認識してくれない場合があるかもしれないです。

その場合には、優先順位の変更と同様、
.htaccessに

DirectoryIndex index.html index.php

の1行を追加して下さい。

最近の共用サーバであれば、
100%このindex.htmlindex.phpを自動で認識するように設定されているので、
こちらの設定を行う機会はあまりないと思いますが。

Ruby(index.rb)やPython(index.py)をトップページとして認識させる

最近は、Ruby(Ruby on Rails)やPythonでサイトを構築する機会も増えてきました。

Rubyの場合だと「index.rb」、Pythonの場合だと「index.py」というファイルを作成するので、
これらをトップページとして認識させたい場合もあります。

この場合も同様、
.htaccessに

DirectoryIndex index.html index.rb index.py

というように「DirectoryIndex」にindex.rbindex.pyを追加すればOKです。

最後に

これらの設定変更は、Apacheの設定ファイルであるhttpd.confで設定することも可能です。

ただし、あまり大元はいじりたくないので、基本的には、.htaccessで設定するようにしましょう。

また、レンタルサーバによっては、httpd.confの編集は勿論のこと、.htaccessの使用も許可されていない場合もあります。
その場合には、これらの設定変更はあきらめて下さい。

この記事を書いている人
株式会社ディープ

名前ダッチ

メールアドレスadachi@deep-deep.jp

Twitterはこちら >>

  • コメント: 2

関連記事

コメント

    • Jiro
    • 2021年 9月 11日

    私はある中央官庁のフロントエンジニアをしているのですが、同僚が素人ばかりの役人で「index.html」の意味がわかってくれまでせん。あろうことか現在では、「index.html」をディレクトリの中心ページに設定できないようにCMSを変えてしまっています。彼らを説得するのに絶対的な資料、話などありましたら、ご教授ください。その恥ずかしいサイト、官庁名は出せないのでご理解ください。よろしくお願いいたします。

      • ディープ 足立
      • 2021年 9月 21日

      返信が遅くなりすみません。

      こればかりはWEB制作の経験がない方を説得するのはなかなか難しいのではないかと思います。
      思い当たる資料などもないです。

      ただ、個人的には「index.html」が無くても運用できているのであれば、そのままでもいいのではないかとも思います。

  1. この記事へのトラックバックはありません。

最近の記事

  1. 共用サーバ(レンタルサーバ)
  2. サーバー
  3. リマーケッター
  4. 不動産会社向けのWordPressテーマ
  5. レンタルサーバ:おすすめの共用サーバ
  6. ホームページを活用
  7. Perl(パール)
  8. Perl(パール)
  9. ホームページを活用
  10. データ転送
ConoHa WING 2周年キャンペーン中

アーカイブ

PAGE TOP