让LAMP支持GZIP

要让apache支持gzip功能,要用到deflate_Module和headers_Module。进入apache的配置文件 httpd.conf进行修改。

gzip step1

然后针对这两个module进行一些配置即可:

gzip step2

我还在根目录配置上加了一句:

gzip step3

写httpd.conf有一些小的注意点,SetEnvIfNoCase Request_URI后面的正则表达式中不能有空格,否则apache启动出错, 至少我的情况是这样的。还有如果不小心把配置文件改坏了,或者apache启动不了,我的解决方式是直接用cmd命令行, 进入apache2.2下的bin目录,运行httpd.exe,如果apache启动失败,就会给出错误原因,按照提示就能很快解决问题。

接下来对gzip功能进行测试。

未启动gzip功能:

启动gzip功能:

mod_headers.c 配置文件如下,

<IfModule deflate_module> 

    SetOutputFilter DEFLATE 

     DeflateCompressionLevel 3 

     #Don't compress 

     SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary 

     SetEnvIfNoCase Request_URI \.(?:exe|t?gz|gz?|rar)$ no-gzip dont-vary 

     SetEnvIfNoCase Request_URI \.(?:pdf|avi|mov|mp3|mp4|rm)$ no-gzip dont-vary 

     BrowserMatch ^Mozilla/4 gzip-only-text/html 

     BrowserMatch ^Mozilla/4\.0[678] no-gzip 

     BrowserMatch \bMSIE !no-gzip !gzip-only-text/html 

     #Dealing with proxy servers 

     <IfModule headers_module> 

         Header append vary User-Agent 

    </IfModule> 

</IfModule>
THE END