にしし ふぁくとりー(西村文宏 個人サイト)

Presented by Nishishi via Movable Type. Last Updated: 2015/09/22. 13:20:38.

リンクのURLにindex.htmlを加えざるを得ない理由

私がAll About上で書かせていただいている記事の中で、携帯端末向けサイト(ケータイサイト)の作成方法を解説したものがあります。
実際に作成してみた携帯サイトの例として、http://mc.rumic.org/ というサイトを用意しています。

記事中からもこのサンプルサイトへリンクしているのですが、その際のリンク先は、
http://mc.rumic.org/ ではなく、
http://mc.rumic.org/index.html にしています。

本来は不要な(むしろ付けない方が良い)「index.html」というファイル名をわざわざURLの末尾にくっつけているのには理由があります。

それは、
URLの末尾にindex.htmlがないと、Internet Explorerで表示できないから
です。

この問題は、最新のIE8でも同様です。Internet Explorerをお持ちの方は、実際にアクセスしてみて下さい。index.htmlがあるURLならうまく表示されますが、index.htmlがないURLだと「ファイルのダウンロード」になってしまって、画面には何も表示されません。
(※Firefox・Safariなど、IE以外のブラウザならindex.htmlがあろうとなかろうと正常に表示されます。)

もちろん、どんなサイトでもindex.htmlがなければIEでアクセスできないわけではありません。index.htmlがない場合にIEで表示できなくなるのは、以下の場合です。

●HTTPレスポンスヘッダに含まれる「Content-Type」の値が「application/xhtml+xml」になっている場合

たいていのウェブサイトでは、たとえXHTMLで記述していても、Content-Typeの値は「text/html」にしているのではないかと思います。そうしていれば、IEで「index.htmlなどのファイル名がないURL」にアクセスしても、問題なく表示できます。

しかし、携帯サイトを作る場合は、Content-Typeの値を「application/xhtml+xml」にせざるを得ません。これは、docomo端末の仕様の問題です。docomoの端末では、ウェブページをXHTMLで記述した上で、Content-Typeの値を「application/xhtml+xml」にしていないと、CSSが解釈されません。(CSSの記述が無効にになってしまいます。)

この問題があるため、(docomoの端末でも見せる)携帯サイトをCSSで装飾したければ、Content-Typeの値を「application/xhtml+xml」にして、XHTMLで記述するしかないのです。(※ただXHTMLで記述しただけではダメで、Content-Typeの値も変える必要があります。)

しかし、そうすると、「index.html」などのDefaultIndexを省略したURLでは、Internet Explorerで表示できなくなってしまいます。
その問題を回避するため、わざわざリンクするURLの末尾に「index.html」というファイル名を加えているのです。

これが、私が記事中でサンプル携帯サイトへリンクする際に、URL末尾にindex.htmlを加えている理由です。

なお、そういう特殊な理由がないなら、「index.html」などのファイル名はURLに含めない方が良いです。
なぜなら、index.htmlというファイル名は、将来はindex.phpとか、index.cgiとか、他の拡張子に変わってしまうかも知れないからです。その際、リンクするURLに「index.html」まで含めてしまっていると、リンクを修正しなければならなくなってしまいますから、余計な手間が掛かります。

※そういう意味では、index.htmlに限らずそれ以外のページ(例えば、sakura.html とか)でも、拡張子は含めない方が良いのですが……。ただそうすると、ローカルで編集・管理・表示確認する際に面倒くさいので、私は実践していませんが。(^_^;;;
(サーバには拡張子付きでファイルをアップロードしておきながら、実際には拡張子なしでも閲覧可能、というようにサーバを設定できれば良いかも知れませんけども。)

あと、「URLは短い方が分かりやすい」という理由もあると思います。
印刷されたURLを打つ場合は、短い方が楽ですし打ち間違いも減ります。

ちなみに、当サイト(www.nishishi.com)のトップページのファイル名は、index.htmlではありません。(^_^;)
でも、昔々にindex.htmlだった頃もあって、index.htmlを付加した状態でリンクされているところもいくつかあったので、今でもダミーのindex.htmlファイルを置いて、リダイレクトさせています。(^_^;;;

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

※投稿内容は、実際にページ上に掲載される前に、管理者によって確認される設定にしている場合があります。その場合は、投稿後にその旨が表示されます。たいてい1~2日以内には表示されるはずですので、気長にお待ち願います。m(_ _)m

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)

--- 当サイト内を検索 ---