iis6设置http压缩的问题

来源:互联网 发布:网络招聘部项目计划书 编辑:程序博客网 时间:2024/06/10 03:23

iis6启动HTTP压缩的方法 IIS 6.0中雇用HTTP Gzip压缩的方法步骤: 1) 打开Internet信息服务(IIS)管理器,右击 "网站 "-> "属性 ",选择 "服务 "。在 "HTTP压缩 "框中选中 "压缩应用程序文件 "和 "压缩静态文件 ",按需要设置 "临时目录 "和 "临时目录的最大限制 "; 2) 在Internet信息服务(IIS)管理器,右击 "Web服务扩展 "-> "增加一个新的Web服务扩展... ",在 "新建Web服务扩展 "框中输入扩展名 "HTTPCompression ",添加 "要求的文件 "为C:/WINDOWS/system32/inetsrv/gzip.dll,其中 Windows系统目录根据您的安装可能有所不同,选中 "设置扩展状态为允许 "; 下面的这一步很重要。请认真看。 3) 使用文本编辑器打开C:/Windows/System32/inetsrv/MetaBase.xml(建议先备份),找到Location = "/LM/W3SVC/Filters/Compression/gzip ",如果需要压缩动态文件,则将 HcDoDynamicCompression设置为 "TRUE ",并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名,如aspx;如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为 "TRUE ",并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如xml、css等; HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的压缩率,数字越小压缩率越低; 4) 编辑完毕后保存MetaBase.xml文件;如果文件无法保存,则可能IIS正在使用该文件。打开 "开始 "-> "管理工具 "-> "服务 ",停止 "IIS Admin Service "后,即可保存;或者命令行下:net stop iisadmin.启动用net start w3svc. 5) 最后,重新启动IIS。可以到HTTP压缩测试网站:http://www.port80software.com/support/p80tools 验证结果。注意验证的时候,验证三次:一次只输入域名。一次输入你的静态文件名,一次输入你的动态文件名。三次都显示为:Compression status: Compressed (gzip),即为成功。 可是我在配置了HTTP 压缩之后发现,当URL地址中不包含文件名时,压缩就会失效,比如访问http://www.cnblogs.com ,就没有进行压缩,而且访问http://www.cnblogs.com/default.aspx, 压缩就生效。IIS 6中的HTTP压缩是根据MetaBase.xml中的HcScriptFileExtensions定义的扩展名进行匹配的,IIS 6在检查匹配时,对于不含文件名的URL, 没有先加上默认文档名进行匹配,所以引起了这个问题。我采用的解决方法是将HcScriptFileExtensions的值设为空,对任何文件进行压缩。

原创粉丝点击