当我在本地主机上运行 Glassfish 并尝试在 IE8 上加载 xhtml 文件时,我加载了页面。
我将 xhtml 文件上传到 Apache 服务器,并成功地从 Chrom、FF 和 IE9 访问它们。
另一方面,IE8 要求我下载 xhtml 文件,可能是因为它无法将这些文件识别为有效的 html 文件。
是否可以在不将文件更改为 .htm 或向文件中添加任何内容的情况下解决此问题?
当我在本地主机上运行 Glassfish 并尝试在 IE8 上加载 xhtml 文件时,我加载了页面。
我将 xhtml 文件上传到 Apache 服务器,并成功地从 Chrom、FF 和 IE9 访问它们。
另一方面,IE8 要求我下载 xhtml 文件,可能是因为它无法将这些文件识别为有效的 html 文件。
是否可以在不将文件更改为 .htm 或向文件中添加任何内容的情况下解决此问题?
问题是 Internet Explorer(8 或 9)无法为 XHTML 处理正确的 mime 类型。
当您将扩展名更改为 html 时,Apache 将设置 html mime 类型。
解决方案是调整 Apache 配置以适应此问题。可以通过 mod_mime 或 mod_rewrite 完成。
这是 mod_rewrite 方式:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} .*MSIE.*
RewriteCond %{REQUEST_URI} \.xhtml$
RewriteRule .* - [T=text/html]
http://www.ibm.com/developerworks/library/x-tipapachexhtml/index.html