Apache 开启 gzip 压缩方法:
这里我使用的是 Apache2.4.17
开启 apache 安装目录,找到 conf 目录,用记事本开启 httpd.conf 档案。
ctrl+f 查询
去掉 #LoadModule headers_module modules/mod_headers.so 前面的注释 #
去掉 #LoadModule deflate_module modules/mod_deflate.so 前面的注释 #
去掉 #LoadModule filter_module modules/mod_filter.so 前面的注释 #
档案末尾加上
SetOutputFilter DEFLATE
DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript //需要压缩的格式
AddOutputFilter DEFLATE css js txt xml rss html htm //需要压缩的格式
Header append Vary User-Agent env=!dont-vary
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png|bmp|tif)$ no-gzip dont-vary //不需要压缩的格式
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|7z|bz2|sit|rar|bin|iso)$ no-gzip dont-vary //不需要压缩的格式
SetEnvIfNoCase Request_URI .(?:pdf|doc|docx|xls|xlsx|ppt|pptx)$ no-gzip dont-vary //不需要压缩的格式
然后看客户端的请求里是否有 :
Accept-Encoding: gzip, deflate //代表客户端支援 gzip
服务端的响应里是否有 :
Content-Encoding: gzip //代表服务端已开启 gzip
有些站群服务器对内容进行 gzip 编码只针对某些档案, 所以 有没有返回 这个, 并不能代表, 是否支援 gzip 的依据。
Apache 配置 Expire/Cache-Control 头
开启 apache 安装目录,找到 conf 目录,用记事本开启 httpd.conf 档案。
ctrl+f 查询 LoadModule expires_module modules/mod_expires.so
去掉前面 #号!
在文字最后面新增:
#开启 WordPress 加速缓存
ExpiresActive on
#css 档案 WordPress 加速缓存 7200000/3600/24=83 天
ExpiresByType text/css A7200000
#js 档案 WordPress 加速缓存 83 天
ExpiresByType application/x-javascript A7200000
ExpiresByType application/javascript A7200000
#html 档案 WordPress 加速缓存 83 天
ExpiresByType text/html A7200000
#图片档案 WordPress 加速缓存 83 天
ExpiresByType image/jpeg A7200000
ExpiresByType image/gif A7200000
ExpiresByType image/png A7200000
ExpiresByType image/x-icon A7200000
上面开启的是 expire
下面是 cache-control
在文字后面继续新增
Header set Cache-Control “max-age=604800, public”
Header set Cache-Control “max-age=604800, public”
这里时间设定不一样是为了检验是否成功配置的,因为,没设 cache-control 的时候,它会自动根据 expire 的时间设定自己。
最后重启 apache 站群服务器,ok!
这里说一个自己爬的坑吧!(那就是如果不出现 200 form cache, 而是出现了 304,那是因为,你重新整理了浏览器。。。想要出现 200 form cache,需要在浏览器位址列里按回车键。)
也就是说:重新整理浏览器 触发 304, 位址列回车触发 200 form cache 。
查了好久才发现了,之前一直想不通,既然设定了 cache-control 和 expire 为啥还是 304,这就是原因,就是这么简单。