开启Apache的gzip网页压缩功能
2026-05-02 20:18:16
178
分类:php
gzip网页压缩功能是优化网站的一个因素,可加快打开网页的速度,下面介绍PhpStudy如何开启Apache的gzip网页压缩功能。
gzip 压缩前:

gzip 压缩后:

Apache开启gzip
1.打开apache的配置文件httpd.conf
2.找到#LoadModule deflate_module modules/mod_deflate.so,去除注释
3.找到#LoadModule headers_module modules/mod_headers.so,去除注释
4.在httpd.conf文件的最后添加以下内容:
<IfModule mod_deflate.c> # 告诉 apache 对传输到浏览器的内容进行压缩 SetOutputFilter DEFLATE # 压缩等级 9 DeflateCompressionLevel 9 </IfModule>
这样就能对所有文件进行 gzip 压缩了。压缩等级是个 1-9 之间的整数,取值范围在 1(最低) 到 9(最高)之间,不建议设置太高,虽然有很高的压缩率,但是占用更多的CPU资源。(本地测试了下 1 和 9 压缩率差不了多少...)
实际开发中我们并不需要对所有文件进行压缩,比如我们无需对图片文件进行 gzip 压缩,因为图片文件(一般为 jpg、png等格式)本身已经压缩过了,再进行 gzip 压缩可能会适得其反(详见 图片要启用gzip压缩吗?绝对不要!,背景图片千万不要gzip压缩,尤其是PNG),类似的还有 PDF 以及音乐文件。所以我们可以设置过滤指定文件或者对指定文件进行压缩。
对特殊文件不压缩:
<IfModule mod_deflate.c> # 告诉 apache 对传输到浏览器的内容进行压缩 SetOutputFilter DEFLATE # 压缩等级 9 DeflateCompressionLevel 9 #设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩 SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary </IfModule>
指定文件格式进行压缩:
<IfModule mod_deflate.c> # 压缩等级 9 DeflateCompressionLevel 9 # 压缩类型 html、xml、php、css、js AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php AddOutputFilter DEFLATE js css </IfModule>
保存httpd.conf,重启Apache服务即可。至此,已经开启gzip网页压缩功能。