2013年1月30日 星期三

Apache 開啟 gzip

網站伺服器開啟gzip壓縮功能後,會將指定要壓縮的資料先在伺服器端壓縮後,再傳送到使用者端的瀏覽器,如此便可以減少檔案傳輸的大小。
Apache開啟gzip壓縮功能的方法如下
  1. 開啟mod_deflate.so
    修改 httpd.conf 拿掉下面一行的註解
    LoadModule deflate_module modules/mod_deflate.so
    
  2. 設定壓縮比例DeflateCompressionLevel ,可設定1~9 (9:壓縮比率最大,最耗伺服器資源)
    修改 httpd.conf,新增以下內容
    <ifmodule mod_deflate.c>
    DeflateCompressionLevel 6
    </ifmodule>
  3. 於網站根目錄下新增 .htaccess 檔,設定需要壓縮的檔案
    <ifModule mod_deflate.c>
    #要壓縮的檔案類型
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
    AddOutputFilter DEFLATE js css
    #不壓縮的檔案,以下設定根目錄底下的aa和bb資料夾裡面的檔案不壓縮
    SetEnvIf Request_URI ^/aa(.*) no-gzip dont-vary
    SetEnvIf Request_URI ^/bb(.*) no-gzip dont-vary
    </ifModule>
  4. 若不想使用 .htaccess 設定,亦可將第3步驟的內容一併寫在第2步驟中。
  5. 要知道是否生效,可看瀏覽器接收到的回應標頭header,裡面的Content-Encoding是否為gzip

沒有留言:

張貼留言