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

参考链接:

Post Comment