XHTMLとモバイルコンテンツ
たまには技術的な事も書いておかないと、と思い、備忘録代わりに記します。
iモードをはじめ、携帯電話でモバイルサイトを閲覧すると昔よりもカラフルで画像も沢山使われていることに気づきませんか。これまでのモバイルサイトはパソコン用のサイトの装飾を省いたような物で、画像がひとつと文字が沢山、せいぜい絵文字が表示されるくらいだったと思います。ところが、携帯電話の進歩により、リソースの制限が少なくなり、XHTML Mobile Profileという言語が設計された事が大きな進化の要因のひとつです。
今までと何が違うかというと、CSSが利用できるようになりました。これにより、文書構造と装飾を分離することができ、より効率的に携帯電話の小さな画面内で、様々な情報を表示できるようになったのです。(キャリア、機種によって違いはありますが)
さて、モバイルサイトをXHTMLで構築するときの具体的なテクニックですが、妥当なXHTMLでファイルを作成し(拡張子はhtmlとします)、FTPでウェブサーバーにアップロードします。まずはパソコンから動作確認、きちんとCSSも反映されています。ところが携帯電話(この場合iモード対応端末とします)から確認してみると、味気ない文字ばかりの表示。CSSが反映していないようです。こんなときどうするか。下記の内容で.htaccessファイルを書いて、ファイルがあるディレクトリにアップロードしてあげればOKです。
AddType application/xhtml+xml .html
xhtml+xml文書をhtmlとして認識しなさいという事で(拡張子をxhtmlにすれば一発解決ですが)、これを書いておかないとiモードでアクセスした際にはCSSが無視されてしまいます。cgiやPHPの場合でも、MIMEタイプをtext/htmlではなく、application/xhtml+xmlで書いてあげればOKです。ところがこの方法にはひとつ問題があります。/(スラッシュ)で終わるURLでIEからアクセスすると、うまく表示できず、ファイルのダウンロードを促すダイアログが表示される問題があります。これはIEがxhtml+xmlを処理できないのが問題で、解決するには以下のように.htaccessファイルを書き換えます。
<Files モバイル用ファイル名.html>
AddType application/xhtml+xml .html
</Files>
上記のようにすると、xhtml+xml文書をhtmlとして認識するファイルを指定でき、上述の問題も回避できます。
う~ん。書いていてまったく面白くないですね。まあ、たまにはご愛嬌ということで。














