IIS启用GZIP压缩js、css无效的原因及解决方法
在卡卡网的网站速度诊断里的检测结果:
html网页已经成功启用了gzip压缩
css文件未成功启用gzip压缩
后来研究发现,iis启用gzip时默认压缩的只有html网页,如果需要压缩css、js等文件,还需要另外简单配置一个文件。
打开c:\windows\system32\inetsrv\metabase.xml这个文件,然后查找“iiscompressionscheme”,会发现有三段,后面那个不用管,只设置前面两个即可。其中,"/lm/w3svc/filters/compression/gzip"用于设置gzip压缩,"/lm/w3svc/filters/compression/deflate"用于设置deflate压缩。
如需压缩静态文件,则将hcdostaticcompression和hcdoondemandcompression设置为“true”,并在hcfileextensions的属性中加入需要压缩的静态文件:css、js等;
如需压缩动态文件,则将hcdodynamiccompression设置为“true”,并在hcscriptfileextensions属性中加入需要压缩的动态文件:aspx、php等。
另外,hcdynamiccompressionlevel属性和hcondemandcomplevel属性一般都推荐设置为9, 具有最佳性价比。
参考如下各参数设置:
<iiscompressionscheme location ="/lm/w3svc/filters/compression/deflate"
hccompressiondll="%windir%\system32\inetsrv\gzip.dll"
hccreateflags="0"
hcdodynamiccompression="true"
hcdoondemandcompression="true"
hcdostaticcompression="true"
hcdynamiccompressionlevel="9"
hcfileextensions="htm
html
txt
css
js
xml"
hcondemandcomplevel="9"
hcpriority="1"
hcscriptfileextensions="asp
aspx
dll
exe"
>
</iiscompressionscheme>
<iiscompressionscheme location ="/lm/w3svc/filters/compression/gzip"
hccompressiondll="%windir%\system32\inetsrv\gzip.dll"
hccreateflags="1"
hcdodynamiccompression="true"
hcdoondemandcompression="true"
hcdostaticcompression="true"
hcdynamiccompressionlevel="9"
hcfileextensions="htm
html
txt
css
js
xml"
hcondemandcomplevel="9"
hcpriority="1"
hcscriptfileextensions="asp
aspx
dll
exe"
>
</iiscompressionscheme>
设置完毕后,重新启动iis,再检测时发现css、js等文件已经成功启用gzip了。
您可能对如下文章也感兴趣
上一篇: 电话机器人赚钱思路 不懂的可以看看
下一篇: 详解如何修改 Docker 默认网桥地址