iis啟用GZIP壓縮Css javascript檔案無效的原因及解決

來源:互聯網
上載者:User

IIS啟用GZIP壓縮之後,原以為可以壓縮所有檔案了,包括html、CSS、JS、圖片這些檔案,但是當我檢查的時候,發現並不是這樣的,壓縮的只有html檔案,而CSS、JS並沒有壓縮。

      在卡卡網的網站速度診斷裡的檢測結果:

html網頁已經成功啟用了GZip壓縮

css檔案未成功啟用GZip壓縮

      後來研究發現,IIS啟用GZip時預設壓縮的只有html網頁,如果需要壓縮css、js等檔案,還需要另外簡單配置一個檔案。

      開啟C:WINDOWSsystem32inetsrvMetaBase.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%system32inetsrvgzip.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%system32inetsrvgzip.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了。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.