3

我正在使用 Kohana minifier 模块将 less/css 和 js 文件压缩为类型组合文件。

/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 压缩。我的 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']);
}

非常感谢一些指导,因为我很难解决如何解决这个问题,或者它是否与在本地服务器上有关。

4

2 回答 2

0

这可能只是您帖子中的一个错字,但是

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

应该

$this->response->headers('Content-Encoding', $gzip);
于 2013-07-23T22:29:45.993 回答
0

试试http://php.net/manual/ru/function.gzcompress.php 它可能会帮助你,就像它曾经帮助过我一样 :))

于 2013-07-23T09:57:52.320 回答