标准模板的 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 然后如果需要重启服务器的就重启吧.
最后一步是最关键的, 到后台更新缓存. 然后就完成了, 现在可以打开论坛主页看看效果了.
|