前阵子在逛到某些博客打开网页时,总是提示下载 gz 文件,文章内容也看不到,我还以为该博客网站中毒了呢。直到在知更鸟那里看了以下这篇文章才知道原来是 WP Super Cache 插件搞的鬼,所以今天特意转载分享给大家。
以下是正文:
昨天折腾主题,临时停用了缓存插件 WP Super Cache,之后再次开启,不久有浏览用户反映打开网页会提示下载.gz 文件。
删除 WP Super Cache 插件并清空缓存文件,再次重新安装并启用,问题依旧,我使用的是 mod_rewrite 缓存模式,检查站点根目录的.htaccess 文件 Mod Rewrite 规则已写入,没有问题,最后发现居然是默认的缓存文件存放目录 wp-content/cache/中的另一个.htaccess 中的规则没有更新。
正常应该类似:
- # BEGIN supercache
- <IfModule mod_mime.c>
- <FilesMatch “\.html\.gz$”>
- ForceType text/html
- FileETag None
- </FilesMatch>
- AddEncoding gzip .gz
- AddType text/html .gz
- </IfModule>
- <IfModule mod_deflate.c>
- SetEnvIfNoCase Request_URI \.gz$ no-gzip
- </IfModule>
- <IfModule mod_headers.c>
- Header set Vary “Accept-Encoding, Cookie”
- Header set Cache-Control ‘max-age=3, must-revalidate’
- </IfModule>
- <IfModule mod_expires.c>
- ExpiresActive On
- ExpiresByType text/html A3
- </IfModule>
- # END supercache
如果你的站点也有类似的问题,请检查缓存目录 wp-content/cache/中的.htaccess 文件,是否有规则写入。
可以尝试到 WP Super Cache 插件设置中更新 Mod Rewrite 规则。