2

これに対する答えはどこにも見つからないようです。IE6以前の特定のバージョンは、gzipエンコーディングを受け入れると誤って宣言していることはよく知られています。ob_gzhandlerはこれらのバージョンを正しく検出しますか、それとも個別に検出する必要がありますか?

4

1 に答える 1

2

いいえ、そうではありません。あなたはそうしなければなりません:

<?
function checkIEFail() {
    $ua = $_SERVER['HTTP_USER_AGENT'];
    if(strpos($ua, 'Mozilla/4.0 (compatible; MSIE ') !== 0 || strpos($ua, 'Opera') !== false)
        return false;
    $version = floatval(substr($ua, 30));
    return $version < 6 || ($version == 6 && strpos($ua, 'SV1') === false);
}

if(!checkIEFail())
    ob_start('ob_gzhandler');
?>
于 2009-05-13T00:43:54.320 に答える