2013-03-16 100 views
0

尝试使用PHP中的GZIP将〜60k​​b索引页减少到〜10kb。除了我的Google Adsense广告没有显示外,我取得了成功。PHP中的GZIPing HTML阻止Google Adsense广告显示

为您考虑我已经包括在同一页的2组活生生的实例:

我使用的代码如下(你可以从这篇文章承认它:PHP Manual GZip Encoding):

function _compress($data) { 
    $supportsGzip = strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false; 

    if ($supportsGzip) { 
     $content = gzencode(trim(preg_replace('/\s+/', ' ', $data)), 9); 
    } else { 
     $content = $data; 
    } 

    $offset = 60 * 60; 
    $expire = "expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"; 

    header('Content-Encoding: gzip'); 
    header("content-type: text/html; charset: UTF-8"); 
    header("cache-control: must-revalidate"); 
    header($expire); 
    header('Content-Length: ' . strlen($content)); 
    header('Vary: Accept-Encoding'); 

    echo $content; 
} 

ob_start(); 
include("index_standard.php"); 
$contents = ob_get_clean(); 
ob_end_flush(); 
_compress($contents); 

这我难倒正确,因为其他JavaScript不受影响。

作为一个侧面说明。我很想了解(并补救)这个错误,但如果不可能,我会考虑将我的广告位更改为异步加载方法作为备份计划。

回答

1

sesion_start()

if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start(); 
include("index_standard.php"); 
ob_flush(); 
+0

之前谢谢!这是一个更新颖的方法 – 2013-03-16 12:48:17