2013-06-18 53 views
3

我正在使用Kohana缩小器模块将less/css和js文件压缩成类型组合文件。Gzip不适用于本地开发

/less/f31e419e939bfec51b4fe8322f545455.less?r=20130618 /js/24dae189814109f20ff9a5bf4422be36.js?r=20130618

我使用MAMP PRO但收到Firefox和Chrome以下错误:

Content Encoding Error 
This webpage is not available 

内容头是通过如来:

HTTP/1.1 200 OK 
Date: Tue, 18 Jun 2013 11:17:14 GMT 
Server: Apache 
X-Powered-By: PHP/5.4.4 
Etag: "acf11d952c07adb223fa77f3d385f56e" 
Cache-Control: must-revalidate 
Last-Modified: Thu, 13 Jun 2013 21:57:04 +0000 
Content-Encoding: gzip 
Content-Length: 16894 
Set-Cookie: session_database=ecfc139402165669a4b6d5e8190564231133fb0d%7E51c041ba9f6e95-28008580; expires=Wed, 19-Jun-2013 11:17:17 GMT; path=/ 
Content-Type: text/css; charset=utf-8 

内容如果我删除gzip编码,但显然我想利用gzip compressio ñ。我的PHP代码:

// Further up the page 
$data['cache_gz'] = gzencode($data['cache']); 

//... 

if ($gzip === FALSE){ 
    $this->response->body($data['cache']); // Works 
}else{ 
    this->response->headers('Content-Encoding', $gzip); // Doesn't Work 

    $this->response->headers('Content-Length', strlen($data['cache_gz'])); 
    $this->response->body($data['cache_gz']); 
} 

会很感激这个一些指导,我难倒就如何解决这个问题,或者如果它只是关系到作为一个本地服务器上。

+0

在你的本地Apache上启用了mod_deflate吗? – quidage

+0

是的,所有的模块都是加载,包括mod_deflate – dclawson

+1

在gzencode函数的php.net manpage中。一个评论建议添加ini_set('zlib.output_compression','关');在gzencode之前。为什么你使用gzencode(...),即使gzip标志是假的? – 0xBAADF00D

回答

0

这可能只是在您的文章错字,但

this->response->headers('Content-Encoding', $gzip); 

应该

$this->response->headers('Content-Encoding', $gzip); 
相关问题