技术解析

新手遇到了一个奇怪的问题
0
2021-05-31 11:53:32
idczone
在nginx下,用CI写个BLOG玩(学习PHPing),最后联调的时候发现css没起作用。查看chrome的出错信息后发现,这个css文件居然是以 text/html 的MIME类型发给浏览器的。

然后各种折腾配置文件无果,最后只得手动加了两行非常ungly的设定,才解决问题。

location ~ .css {
add_header Content-Type text/css;
}

location ~ .js {
add_header Content-Type application/x-javascript;
}

检查过了,nginx.conf里的include /etc/nginx/mime.types啥的都在,没问题。美国服务器

小弟刚开始学习服务器编程,在此向各位学长请教,多谢!
请检查这句include /etc/nginx/mime.types真的生效了吗?这个文件存在吗?

存在呢,但我也只能确定它的存在。。。
怎么确定是否生效呢?

找个列表里的其它类型的文件也扔上去,如果也是text/html那就很有问题了……检查下是不是配置文件真的生效了,修改一下端口什么的看看。

好办法!
真神奇,js没问题,不需要强行add_header就能以application/x-javascript的方式传递。
难道是俺的css文件的问题?

再补充一个情况:如果按上述方法强行为css文件添加header,那么该目录下其他站点的css全部都出了问题。。。而不添加header的话,其他站点(非正在练习的那个blog)则正常。
看来这说明不是nginx的问题。
替换了几个其他人的css文件,症状依旧。
难道是CI框架本身的问题?

这个就真的难判断了……和CI框架应该关系不大吧,你不FastCGI给PHP,那没启动CI,根本不可能发生影响啊。

等等,是不是这几个css文件被传递给了PHP引擎?你检查一下,把php-fpm之类的停了,这几个CSS还能访问到吗?

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服