什么是将Content-Encoding设置为“none”?在我的HTTP响应头


What is setting Content-Encoding to "none" in my HTTP response header?

我有一个WordPress在LAMP堆栈上。不知何故,在HTTP响应头中返回的"Content-Encoding"值为"none"。

  1. 我找不到任何违规代码在WordPress核心,主题,或任何插件
  2. 我在。htaccess
  3. 中没有看到任何这样的指令
  4. 我不知道任何Apache配置会导致值为"none"

想法吗?智慧?威士忌吗?

可能是您在PHP中禁用了gzip压缩。这可以设置Content-Encoding头。

zlib.output_compression

你的陈述似乎是错误的。

if (ini_get('output_buffering') && !isset($agent['bot']))
{ 
    ob_end_clean(); 
    header('Content-Encoding: none');
    $do_gzip_compress = false;
}
if (GZIPSUPPORT && !ini_get('zlib.output_compression') && isset($_SERVER['HTTP_ACCEPT_ENCODING']) && preg_match('/gzip/i', $_SERVER['HTTP_ACCEPT_ENCODING'])) 
{
    if (version_compare(PHPVERS, '5.0.0', '>=')) 
    {   # PHP 4.2.x seems to give memleak
        ob_start('ob_gzhandler');
    } 
    else 
    {
        $do_gzip_compress = true;
        ob_start();
        ob_implicit_flush(0);
        header('Content-Encoding: gzip');
    }
} 
else 
{
    ob_start();
    ob_implicit_flush(0);
}