解决WP Super Cache开启Gzip之后的乱码问题

主机空间在国外就一点不好:连接速度和下载速度可能稍逊于国内,毕竟数据要穿越漫长的太平洋海底光缆,这方面的指标自然要被打折扣。所以,在安装完毕之后,打开Wordpress的Gzip功能就显得尤为重要,类似于Autoptimize这样的插件相当受欢迎。

但是WP Super Cache这个插件却达到了两全其美目的,因为在减轻服务器负荷的同时,又能开启Gzip这项功能,大幅度减少网站的数据传输压力。开启这个功能的方法如图:

如果你想验证自己的站点是否已经成功开启Gzip,可以在http://tool.chinaz.com/Gzips/检验。

但是在WP Super Cache中开启Gzip之后,会出现首页乱码或者首页提示zip文件下载的现象,而且很奇怪的是这现象只会出现在首页,日志页面不会出现。刚看到这情况的时候,我甚至怀疑空间被挂马了,不过心想我这小破站,被挂马都是浪费时间,没有价值!不过因为考虑到出现乱码实在开启“Super Cache Compression”这个功能之后,所以将其关闭,同时清空缓存文件,在过了将近一天之后,发现没有问题,这就基本上确定乱码现象是WP Super Cache开启Gzip之后的BUG。看来要想让Wordpress安全、稳定地用上Gzip,还得靠Autoptimize这样的单独的插件。

虽然有了BUG,就得解决不是,于是上网搜,发现跟我有同样疑问的还挺多,解决办法倒是有,就是治标不治本,大致如下:找到“/wp-contents/wp-cache-config.php”这个文件,将其中“$wp_super_cache_advanced_debug”这一项由0改为1,然后回到Wordpress后台的WP Super Cache设置项,就会看到这样一个被“隐藏”了的选项:

图中的第一个选项表示每5分钟检查一次首页(地址)文件,第二项表示一旦遇到乱码错误就清除首页缓存文件。这是个不是办法的办法,或许一开始在设置项里没有显示,作者也有相应考虑,看来这个BUG确实是WP Super Cache开启Gzip后发生几率很高的!不过这跟Wordpress所使用空间的服务器端设置,也有很大关系,之前我用的Froghost的空间,出现乱码,但现在换成Xen VPS并开启Gzip之后,从未没出现过乱码。

既然了解到了这些情况,最后还是奉劝站长们不要打开WP Super Cache的“Super Cache Compression”选项,如果你一定想打开Gzip功能,还是去安装单独的插件吧,比如Autoptimize,和WP Super Cache共同搭配使用,效果是相当好的。

12 thoughts on “解决WP Super Cache开启Gzip之后的乱码问题

  1. Pingback: 解决WP Super Cache开启Gzip压缩后的乱码问题 – 快乐收藏夹

  2. Pingback: WP Super Cache 与 WordPress 首页乱码 « 水景一页

Leave a Reply

Your email address will not be published. Required fields are marked *