我在文件中有一个gzip压缩的样式和脚本:
/scripts.js.gz
/styles.css.gz
问题是它没有提供正确的mime类型,浏览器无法识别,文件是压缩的css或js(浏览器将类型识别为application / octet-stream,它应该是text / css或者左右)。
我尝试将以下内容添加到nginx的mime.type中,但没有效果。我想,它无法识别文件是否被压缩。
types {
text/css css.gz;
application/x-javascript js.gz;
}
当尝试访问文件时,浏览器会将文件作为要下载的文件处理,而不是存在。
答案 0 :(得分:3)
我遇到了同样的问题,来自Apache。
我发现的问题是,types
块不允许您将.css.gz
指定为文件扩展名。但是,location
块确实存在!我的解决方案是为.css.gz
创建一个位置,然后在该位置修改.gz
的内容类型,如下所示:
location ~ \.css\.gz$ {
add_header Content-Encoding gzip;
gzip off;
types {
text/css gz;
}
}
答案 1 :(得分:1)
请勿更改mime类型并使用Gzip Static Module来处理此问题。
当它处于活动状态时,Nginx将首先尝试提供“file.ext.gz”,然后尝试“file.ext”(如果没有找到),用于处于活动状态的上下文(位置等)内的所有请求。 / p>