在阿駕零零壹站上看到這篇: [Apache] 壓縮你的網頁 – mod_deflate/mod_gzip、ob_gzhandler、zlib, 覺得效果不錯, 試著進行調整自己的主機, 加入這項功能.
由於 apache2 有自帶 mod_deflate 模組, 所以設定起來很快也很方便, 只要設定一下 httpd.conf:
LoadModule deflate_module modules/mod_deflate.so
將 # 拿到, 並加上
<IfModule mod_deflate.c> DeflateCompressionLevel 6 AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php AddOutputFilter DEFLATE html htm xml php css js </IfModule>
並重啟一下服務即可順利完成.
但由於本站使用的是 apache 1.3x, 所以要麻煩一點, 配合的模組是 mod_gzip, 這個版本已經很久了, 可以先到 http://sourceforge.net/projects/mod-gzip/ 這裡進行下載.
若是 windows 下使用 dll 那組, linux/bsd則用 so 那組, 將檔案複製到 apache/modules 下, 設置 httpd.conf 檔案:
windows:
LoadModule gzip_module modules/ApacheModuleGzip.dll
linux/bsd:
LoadModule gzip_module modules/mod_gzip.so
再加入一行:
AddModule mod_gzip.c
另外新增參數:
<IfModule mod_gzip.c> mod_gzip_on yes mod_gzip_min_http 1001 mod_gzip_minimum_file_size 300 mod_gzip_maximum_file_size 0 mod_gzip_maximum_inmem_size 100000 mod_gzip_keep_workfiles no mod_gzip_temp_dir /tmp #這裡要先建好目錄 mod_gzip_item_include file \.html$ mod_gzip_item_include file \.htm$ mod_gzip_item_include file \.xml$ #mod_gzip_item_include file \.php$ mod_gzip_item_include file \.css$ mod_gzip_item_include file \.js$ </IfModule>
測試方式, 可以至:
http://www.port80software.com/products/httpzip/compresscheck
輸入要測試的網址即可.
不過目前 php 的檔案還是未能壓縮 (apache / mod_gzip), 其他格式如 css 或 html 都很正常, 不知原因為何, 另一台用 apache2 / mod_deflate 的 php 是可以順利壓縮的, 原因還要再找看看, 麻煩有經驗的朋友再提供一下資訊囉!
[2007/6/10 3:04]
後來暫時使用了 php.ini 中的 output_handler = ob_gzhandler 設置, 並且將 mod_gzip 中的 php 先 # 掉, 讓 mod_gzip 處理其他檔案, php 則由 ob_gzhandler 處理!!