新手遇到了一个奇怪的问题
- 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还能访问到吗?