IE の場合のみ Content-type を text/html に書き換え

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");
}

多分、これが一番手抜きな方法。

スポンサーリンク
レクタングル(大)
レクタングル(大)