• iis7.5如何设置gzip压缩


     启用对静态内容的 HTTP 压缩

    您可以通过以下方法执行此过程:使用用户界面 (UI)、在命令行窗口中运行 Appcmd.exe 命令、直接编辑配置文件或编写 WMI 脚本。
    用户界面
    使用 UI
    打开 IIS 管理器,然后导航至您要管理的级别。 有关如何打开 IIS 管理器的信息,请参阅 打开 IIS 管理器 (IIS 7)。 有关如何在 UI 的各个位置间进行导航的信息,请参阅 在 IIS 管理器中导航 (IIS 7)。
    在“功能视图”中,双击“压缩”。
    在“压缩”页上,选中“启用静态内容压缩”旁边的框。
    在“操作”窗格中,单击“应用”。
    命令行
    若要启用对静态内容的 HTTP 压缩,请在命令提示符处键入如下命令,然后按 Enter:
    appcmd set config /section:urlCompression /doStaticCompression:True
    有关 Appcmd.exe 的详细信息,请参阅 Appcmd.exe (IIS 7) 。
    配置
    本主题中的过程会影响以下配置元素:
    <urlCompression>
    有关 IIS 7 配置的详细信息,请参阅 MSDN 上的 IIS 7.0:IIS 设置架构(可能为英文页面)。
    WMI
    请使用以下 WMI 类、方法或属性执行此过程:
    HttpCompressionSection.Schemes.DoStaticCompression 属性
     
    HttpCompressionSchemeElement 类
     
    有关 WMI 和 IIS 的详细信息,请参阅 IIS 7 中的 Windows Management Instrumentation (WMI)。 有关与此过程关联的类、方法或属性的更多信息,请参阅 MSDN 网站上的 IIS WMI 提供程序参考(可能为英文页面)。
     
    注:默认情况下只会在你网站根目录有效果,如果想让 js,css 文件夹里使用GZIP,那么则需要在站点里相应的目录下执行以上操作 
     
    讲一下如果配置了,可以在
    http://tool.chinaz.com/Gzips/
    测试,当然可以具体到css和js 例如(..com/js/js.js).
     
    当然有可能这样配置后无效,解决方法如下: 
    先打开IIS管理,选择我要设置的站点,然后在右边的功能区找到MIME TYPES看看里面是否有.JS的选项,如果没有可以手功加上
    有的话把.js的值设置成:application/x-javascript记住不能少并x-有的网友介绍是application/javascript 
    偶在WIN2008+IIS7下试过,如果不加x-也是不会压缩的。
    当然最好在上传JS前对JS进行一次压缩这样效果会更好啦。 可以到网上找找TBCompressor工具,这个工具压缩不错
    先打开IIS管理,选择我要设置的站点,然后在右边的功能区找到MIME TYPES看看里面是否有.JS的选项,如果没有可以手功加上
    有的话把.js的值设置成:application/x-javascript记住不能少并x-有的网友介绍是application/javascript 
    偶在WIN2008+IIS7下试过,如果不加x-也是不会压缩的。
    当然最好在上传JS前对JS进行一次压缩这样效果会更好啦。 可以到网上找找TBCompressor工具,这个工具压缩不错
     
    IIS7下js文件启用Gzip后却不压缩的解决方法
    IIS7已经启用静态文件压缩(Gzip)但是死活不压缩,查找后发现是II7下MIME类型设置问题 
    将.js的MIME类型设置为application/javascript 
    再查看页面,已经启用了Gzip。 
     
    不过,几个天后又发现有的js文件被压缩,有的却没有。 
    查找原因发现是引用js文件是没有设置type 
    <script></script> 
    <script src=”A.js”></script> 
    加上type="text/javascript"类型后问题解决。
    偶尔失效(一会有效一会无效)的解决方法
     
    3. 使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml(建议先备份),
    找到Location =“/LM/W3SVC/Filters/Compression/gzip用于设置gzip压缩,
    找到Location =”/LM/W3SVC/Filters/Compression/deflate“用于设置deflate压缩。 上面两个节点紧挨着。并且设置的属性相同。
    如果需要压缩动态文件,则将HcDoDynamicCompression设置为”TRUE“,
    并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名,如aspx;
    如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为”TRUE“,
    并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如xml、css等;
    HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的压缩率,数值在0-10, 默认为0。
    HcDynamicCompressionLevel属性说明:HcDynamicCompressionLevel Metabase Property
    HcOnDemandCompLevel 属性说明:HcOnDemandCompLevel Metabase Property
    说明: 这两个属性值一般推荐设置为9, 具有最佳性价比。
     
    <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
            js
            css
            swf
            xml"
        HcOnDemandCompLevel="9"
        HcPriority="1"
        HcScriptFileExtensions="asp
        aspx
        dll
        exe">
    </IIsCompressionScheme>
     
     
    注意
    1. 在编辑MetaBase.xml前需要停止IIS,可以使用 net stop iisadmin
    2. 修改完成后开启iisadmin服务,并执行iisreset命令
    关于SEO的测试
    压缩是否对SEO有影响,经测试,开启后仍然可以被很好的收录。
    关于对SEO影响的研究文章,还可以参考下面的几篇文章。
    具体的效率问题,将继续监控以作研究。
     
    如果以上设置无效,或者MetaBase.xml没有响应节点,用以下方式解决
     
    第一种是在web.config中添加以下内容,将frequentHitThreshold调至1,将frequentHitTimePeriod调制10分钟
    <system.webServer>
    <serverRuntime enabled="true"
    frequentHitThreshold="1"
    frequentHitTimePeriod="00:10:00"/>
    </system.webServer>
    第二种方法是打开%windir%\system32\inetsrv\appcmd.exe,然后再命令行界面中输入以下命令字符串,然后回车
    set config -section:system.webServer/serverRuntime -frequentHitThreshold:1
     
    如果 appcmd.exe 窗口执行无法停留,可以执行连续指令:
    %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/serverRuntime -frequentHitThreshold:1
    %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/serverRuntime -frequentHitTimePeriod: 00:10:00
  • 相关阅读:
    hoj 1061 排列树问题
    [译稿]Google的9条创新原则(转)
    vs2008 Sys未定义比较完整的解决方案
    js右下角升起小窗口脚本示例
    扩展了flash8里array的方法
    js 滚动、切换代码的搜集
    prototype 1.3.1 跟 ajax冲突!!!莫名其妙!
    用AS删除Flash中输入文本开始和结尾的空格【转载】
    Flash右键触发与屏蔽
    实现Flash跨域访问
  • 原文地址:https://www.cnblogs.com/bluecobra/p/2908531.html
Copyright © 2020-2023  润新知