httpd配置gzip压缩

以下设置在 /etc/httpd/conf/httpd.conf 文件末尾加入即可。(不同方式安装的httpd可能主配置文件位置不同,请自行查找)

 

一、mod_deflate模块:文件压缩

官方文档:http://httpd.apache.org/docs/2.2/mod/mod_deflate.html

1.检查是否加载模块

LoadModule deflate_module modules/mod_deflate.so

2.设置压缩规则

<IfModule mod_deflate.c>

#开启压缩
SetOutputFilter DEFLATE

#以下文件不压缩,因为用处不大
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary

#压缩所有文本类型的文件
AddOutputFilterByType DEFLATE text/*

#压缩脚本文件
AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript application/x-httpd-php

</IfModule>

 

二、mod_headers模块:过期时间设置

官方文档:http://httpd.apache.org/docs/2.2/mod/mod_headers.html

对指定的文件配置缓存的生存时间,去除mod_headers.so模块前面的注释,以下的86400单位秒,即24小时过期。

#文件缓存时间配置
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css)$">
Header set Cache-Control "max-age=86400"
</FilesMatch>

 

以上设置完成之后重启httpd服务,重新加载配置。

可以通过http://tool.chinaz.com/Gzips/ 工具检测是否开启gzip压缩。

可以通过谷歌浏览器开发者工具的Network选项来查看设置过期时间是否成功(查看头部请求)。

发布者

勿忘心安

一念净心花开遍世界!