使用GZip压缩输出

时间:2012-11-27 03:13:41

标签: php codeigniter optimization gzip yslow

我使用CodeIgniter创建了一个网站,一切都很好。我使用 YSlow (Google Chrome应用)测试了我网站的效果,部分结果的评分为 A 。但是,我在这个领域“使用gzip压缩组件”具有 F 等级。它与我的 css js 文件有关,大多数都在<head>中找到。我不是那么先进,所以我不知道如何解决这个问题。

3 个答案:

答案 0 :(得分:2)

您可以在文档中找到答案:http://developer.yahoo.com/performance/rules.html#gzip

但是,简而言之,为了节省通过网络发送数据的时间,您可以在Web服务器中压缩它,然后在Web浏览器中解压缩它。请注意,这些功能是Web服务器(Apache / IIS)和Web浏览器(IE,Chrome,Firefox)的prporeties和应用程序级别的NOT属性。换句话说,您无法在Code Igniter中修复它。这是docs for apache,但是如果你在IIS中,那么你可以做类似的事情。

您仍然可以通过压缩它们来优化您的JS和CSS文件,而无需在Web服务器上调整任何内容 - 它们最终仍然是纯文本,但您缩短变量名称,删除换行符等等。这是Yahoo's tools for reducing file size你可能应该从哪里开始。还有一个刚刚为Apache(谷歌)发布的即时版本,你可以使用它。

答案 1 :(得分:1)

您可以使用.htaccess文件压缩输出。为此,您需要启用apaches deflate模块。如果您使用的是wamp,请单击系统托盘上的wamp图标。现在去apache - &gt;模块。现在打开标题模块&amp;放气模块。现在在.htaccess文件中放置以下代码。

# compress text, html, javascript, css, xml:

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE image/jpeg
AddOutputFilterByType DEFLATE image/png
AddOutputFilterByType DEFLATE image/gif

#Custom Setting End

答案 2 :(得分:0)

您可以通过将config文件中的compress_output键设置为true来实现此目的。我从./application/config/config.php文件中复制了这个文本

  

启用Gzip输出压缩以加快页面加载速度。什么时候   启用,|输出类将测试您的服务器是否支持   gzip的。 |但即使它确实如此,并非所有浏览器都支持压缩   |只有在您确定访问者可以处理的情况下才能启用   它。 | |非常重要:如果您在获取空白页时   压缩启用它|意味着你过早地输出   你的浏览器的东西。它可以|甚至是一行空格   你的一个脚本的结尾。对于|压缩工作,什么都没有   可以在调用输出缓冲区之前发送由输出类。   不要在启用压缩的情况下“回显”任何值。

$config['compress_output'] = FALSE;