修改Apache配置文件開啓gzip壓縮傳輸

最近無事研究一些Web的優化,用工具page speed檢測網站時發現尚未開啓gzip壓縮,因而上網找來資料實驗一下;在apache2.0以上(包括apache2.0)的版中gzip壓縮使用的是mod_deflate模塊,下面是具體配置步驟 javascript

第1步 php

LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so

打開httpd.conf後,先將上面兩行配置前面的#號去掉,這樣apache就會啓用這兩個模塊,其中mod_deflate是壓縮模塊,就是對要傳輸到客戶端的代碼進行gzip壓縮;mod_headers模塊的做用是告訴瀏覽器頁面使用了gzip壓縮,若是不開啓mod_headers那麼瀏覽器就會對gzip壓縮過的頁面進行下載,而沒法正常顯示。 css

第2步 html

  在httpd.conf中加入如下代碼,能夠加到任何空白地方,不瞭解apache的朋友,若是擔憂加錯地方,就放到http.conf文件的最後一行,若是是虛擬服務器能夠寫.htaccess文件裏面,而後放在項目下便可。 java

<IfModule mod_deflate.c>
    SetOutputFilter DEFLATE    #必須的,就像一個開關同樣,告訴apache對傳輸到瀏覽器的內容進行壓縮

    SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary #設置不對後綴gif,jpg,jpeg,png的圖片文件進行壓縮
    SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary #同上,就是設置不對exe,tgz,gz。。。的文件進行壓縮
    SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary

    AddOutputFilterByType DEFLATE text/* #設置對文件是文本的內容進行壓縮,例如text/html  text/css  text/plain等
    AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript #這段代碼你只須要了解application/javascript application/x-javascript這段就能夠了,這段的意思是對javascript文件進行壓縮
    AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp #這段是告訴apache對php類型的文件進行壓縮

    BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.x 有一些問題,因此只壓縮文件類型是text/html的
    BrowserMatch ^Mozilla/4.0[678] no-gzip # Netscape 4.06-4.08 有更多的問題,因此不開啓壓縮
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # IE瀏覽器會假裝成 Netscape ,可是事實上它沒有問題
</IfModule>
本配置到這裏apache中的gzip壓縮就配置完成,重啓apache後,新的配置就會生效。最後再用工具檢查一下,果真分數提升了不少~呵呵。 不過開啓gzip功能須要額外CPU資源開銷。
相關文章
相關標籤/搜索