DoCoMoのi-modeブラウザのXHTMLモードで表示されるページをASP.netで
DocomoのブラウザでXHTMLを表示させるためには、DOCTYPE宣言だけではなく、headセクションにmeta http-equiv="ContentType" Content="application/xhtml+xml" を含めて、さらにサーバーからのHTTP応答ヘッダでContent-Typeがapplication/xhtml+xmlである必要があるようです。
そこで、ファイルの拡張子を.xhtmlにするとサーバーの応答ヘッダが適切なものになってうまくいったりしますが、いろいろとデメリットもあります。
Windows Server+IISで携帯サイトをホストしている場合
Apacheサーバーの場合は、.htaccessファイルで「AddType application/xhtml+xml .html」と指定する方法が知られています。こうすることで拡張子が.htmlでも、サーバーからのHTTPヘッダーがXHTMLになるということです。
しかしWindows Server+IISを利用している場合は.htaccessファイルでの指定はできません。
私は、ASP.netを利用して携帯サイトを作りたいので、ページが表示される前に実行されるPage_Load()の中にHTTPヘッダを指定するコードを含める方法で、動作を試しています。
protected void Page_Load(object sender, EventArgs e)
{
Response.ContentType = "application/xhtml+xml";
}
これで充分うまくいくのかどうか、、、