Discuz! CSS使用Gzip压缩加速访问速度


标准模板的 CSS 文件 style_1.css 的大小达到了令人发指的 40k+, 不过在进行 Gzip 压缩后则只有不到 10K 的体积, 如果能实现论坛里所有的 CSS 全部进行压缩输出, 在网络较差的情况下大概显示速度能有所改观.

其实实现方法很简单, 通过下面的方法应该能够实现, 希望能给大家参考一下.
(前提是服务器支持 Rewrite)

首先修改缓存控制文件 include/cache.func.php, 查找到:$extra = substr($css, 3);

在上面添加:if(function_exists('gzencode')) $cssdata = gzencode($cssdata);

保存退出.

接着在论坛根目录创建一个新文件, 文件名为 gzcss.php , 内容如下:<?

@header('Content-Encoding: gzip');

@header('Content-type: text/css');

@readfile('./forumdata/cache/'.$_SERVER['QUERY_STRING'].'.css');

?>

保存退出.

然后修改 Rewrite 规则, 在原有的静态化的规则下增加:

Apache Web Server (独立主机用户):
RewriteRule ^(.*)/forumdata/cache/(.+)\.css$ $1/gzcss.php?$2

Apache Web Server (虚拟主机用户):
RewriteRule ^forumdata/cache/(.+)\.css$ gzcss.php?$1

IIS Web Server (独立主机用户):
RewriteRule ^(.*)/forumdata/cache/(.+)\.css?*(.*)$ $1/gzcss.php?$2&$3

然后如果需要重启服务器的就重启吧.

最后一步是最关键的, 到后台更新缓存.

然后就完成了, 现在可以打开论坛主页看看效果了

相关内容