压缩Apache上的网页而不启用gzip或deflate

时间:2011-02-14 12:15:23

标签: php joomla

我在共享服务器上有一个joomla网站,因此我无法访问apache以启用gzip或defalte所以我想知道我可以用php做什么,以启用压缩来加速我的网站?

3 个答案:

答案 0 :(得分:1)

您可以尝试通过设置zlib.ouput_compression设置来打开输出压缩:

http://php.net/manual/en/zlib.configuration.php#ini.zlib.output-compression

或者您可以专门执行输出缓冲并通过GZIP处理程序运行它:

ob_start("ob_gzhandler");

第一个选项是首选方法,如果你使用第二个方法检查它没有破坏Joomla的任何输出缓冲 - 我不是Joomla专家但我希望CMS提供压缩内容的选项交货前。

答案 1 :(得分:0)

如果您的主机上启用了gzip,则需要将此行添加到.htaccess文件而不更改代码

AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript 
AddOutputFilterByType DEFLATE text/xml application/xml text/x-component

这行可以在html,css json和xml内容中启用apache deflate

答案 2 :(得分:0)

如果你添加条件来检查它是否接受这样的编码,那就太好了。

<?php
 if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'))
     ob_start("ob_gzhandler");
 else
     ob_start();
?>

注意:  如果您的服务器不支持.htaccess配置,则必须为每个php文件执行此操作。