XHTML 1.1 準拠の携帯向けサイトでは、HTTP ヘッダの Content-Type に application/xhtml+xml を指定することにより、imode のブラウザで XHTML と認識してくれます。ところがそのサイトに IE でアクセスされると、ダウンロードダイアログが表示されてしまいます。
普段、サイトのシステムを開発する際には、携帯のアクセスとそれ以外をちゃんと振り分けるのですが、今回のは1ファイルのみのサイトの修正依頼だったので、とりあえずやっつけで…。
IE でアクセスされた場合のみ HTTP ヘッダの Content-type を IE が受け入れ可能な text/html に書き換えるようにしました。
$ua = getenv("HTTP_USER_AGENT"); if (ereg("MSIE", $ua)) { header("Content-type: text/html"); } else { header("Content-type: application/xhtml+xml"); }
多分、これが一番手抜きな方法。