01時14分41秒 [Web関連]
私が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件
コメント数: 0件