`

MIME类型导致css在Firefox下无效

阅读更多

最近十分郁闷,原因是Firefox出问题了,无法正确的载入CSS,CSS完全失效,让我无法测试很多东西。
  查看CSS路径,完全是正确的,也是用的标准的<link rel="stylesheet" type="text/css" href="XXX" />的写法。但是在我公司的服务器上老是有问题,页面看起来像是CSS完全失效了,而IE、Safari之类的则是完全正常,静态页面在本地是好的,就是改为动态页面放在服务器后,在ff下就有问题啦。
  在网上google了一把,发现有位叫虾米 朋友也碰到这个问题,他想到:“Apache也有MIME设置,CSS后缀的请求用PHP解析响应了:AddType application/x-httpd- php .css。把这个去掉就可以了”。以下是对MIME类型的解释和相应的解决办法:


   MIME类型
   MIME是多用途的网际邮件扩充协议的缩写。对于诸如网络服务器或者浏览器程序来说,按照MIME类型将页面内容分类是一种标准方法,并且这些程序都含有一个MIME类型列表以便于在跨做操作系统的环境下用相同的方法传输同类型文本内容。
  当某一服务器中的一个页面需要读取远程CSS文件的时候,根据MIME类型的定义(通常情况下是”text/css”),这个样式表文件带有.css的文件扩展名。然而服务器有时却会错误的将.css文件的MIME类型判断为”text/plain”或者是”text/html”。因此当一个标准编译下的页面(也就是采用完整文档声明的页面)调用这个CSS文件的时候就会被判别为不相符的MIME类型,此时基于Gecko的浏览器就会忽略远程样式表,与我们事先想象中那样美丽的网页相反,它们会将页面展现为无任何样式定义的样子。


   解决办法
   解决这个问题的一种方法是联系服务器管理员将.css的MIME类型设置为正确的”text/css”。对于Apache服务器来说,另一种可行的方法是在你的站点根目录下的.htaccess文件中写进这样一行:
  AddType text/css .css
   这样一来.css文件就会被当作”text/css”类型来编译。如果你的服务器管理员限制了你修改.htaccess文件,那么你就需要联系他(她)以取得权限修改这一MIME类型。

分享到:
评论
1 楼 springlion 2009-10-03  
楼主 我也遇到这个问题好长时间了 啊 我的是 jsp项目在tomcat下跑的 我看到 tomcat下的 conf文件夹下面 的web.xml中 有 设置text/css的代码啊  
<mime-mapping>
   <extension>css</extension>
   <mime-type>text/css</mime-type>
</mime-mapping>
不知什么原因 啊 希望能知道一下哦

相关推荐

Global site tag (gtag.js) - Google Analytics