IIS启用Gzip默认只压缩后缀是htm与html的文件,而且对经常用到的js、css无效。
以前没有注意这个问题,在通过在线工具http://gtmetrix.com检测 时才发现js、css并没用被压缩。
那么如何才能让GZip压缩JS/css呢?这需要做进一步的设置。
1、在Web服务扩展项右键,选择”添加一个新的Web服务扩展”,添加文件,C:WINDOWSsystem32inetsrvgzip.dll 选中设置扩展状态为允许。
2、用文本编辑器打开C:WindowsSystem32inetsrvMetaBase.xml(建议先备份),
找到Location =”/LM/W3SVC/Filters/Compression/gzip用于设置gzip压缩,
找到Location =”/LM/W3SVC/Filters/Compression/deflate”用于设置deflate压缩.
更改后的设置如下:
<IIsCompressionScheme Location =”/LM/W3SVC/Filters/Compression/deflate”
HcCompressionDll=”%windir%system32inetsrvgzip.dll”
HcCreateFlags=”0″
HcDoDynamicCompression=”TRUE”
HcDoOnDemandCompression=”TRUE”
HcDoStaticCompression=”true”
HcDynamicCompressionLevel=”9″
HcFileExtensions=”htm
html
txt
js
css
swf
xml”
HcOnDemandCompLevel=”9″
HcPriority=”1″
HcScriptFileExtensions=”ASP
ASPx
dll
exe”
</IIsCompressionScheme>
<IIsCompressionScheme Location =”/LM/W3SVC/Filters/Compression/gzip”
HcCompressionDll=”%windir%system32inetsrvgzip.dll”
HcCreateFlags=”1″
HcDoDynamicCompression=”TRUE”
HcDoOnDemandCompression=”TRUE”
HcDoStaticCompression=”true”
HcDynamicCompressionLevel=”9″
HcFileExtensions=”htm
html
txt
js
css
swf
xml”
HcOnDemandCompLevel=”9″
HcPriority=”1″
HcScriptFileExtensions=”ASP
ASPx
dll
exe”
>
</IIsCompressionScheme>
3、保存文件时,会提示你,当前文件正在使用,不能修改。
4、打开windows服务,找到”IIS Admin Service”,停止服务,会提示有两个服务依赖于该服务,一个是Http ssl,一个是World Wide Web Publishing Service,别怕,把这两个服务一起停止。
5、保存修改的文件,这里应该能顺利保存。
6、将刚才停止的三个服务Http ssl、World Wide Web Publishing Service、IIS Admin Service分别启动起来。
7、重新启动IIS。