Nginx加载静态文件失败的解决方法(MIME type错误)
具体错误提示为:
Error: The stylesheet http://example.com/style.css was not loaded because its MIME type, "text/html", is not "text/css".
Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://example.com/style.css".
错误原因: http Header Content-Type
没有指定文件类型
解决方法
一 在conf配置文件中添加 include /etc/nginx/mime.types;
注意:
1.可以通过vi /etc/nginx/mime.types
修改增加所支持的文件类型
2.这里官方提供的Nginx全部配置文档中实例配置写在http{}
中,但是stackoverflow大家让写在location{}
中,而我按照stackoverflow另一个说法写在server{}
中生效了.这里可能是因为版本关系,如果没有生效自行修改作用区域.
二 自行添加Header Content-Type文件类型
location ~ \.css { add_header Content-Type text/css; } location ~ \.js { add_header Content-Type application/x-javascript; }
以上是两种解决此问题的方法,在修改完配置后使用命令
/usr/sbin/nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
测试一下语法,没问题后再重启Nginx服务
/usr/sbin/nginx -s reload
参考链接: