【问题标题】:How to know apache server deflate/gzip compression is enabled如何知道启用了 apache 服务器 deflate/gzip 压缩
【发布时间】:2012-01-04 19:45:19
【问题描述】:

我的 Apache 服务器管理员声称该服务器启用了 deflate/gzip 压缩。

但是当我使用一些标准代码在我的 .htaccess 文件中引入 deflate/gzip 压缩时,文件中似乎没有压缩。

我在.htaccess中使用了以下几行

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
<FilesMatch "\\.(js|css|html|htm|php|xml)$">
  SetOutputFilter DEFLATE
</FilesMatch>

我怀疑服务器是否真的启用了 deflate/gzip 压缩。当我调用 phpinfo() 时,它会显示以下与 deflate/gzip 相关的行:

Stream Filter support           zlib.inflate, zlib.deflate
HTTP_ACCEPT_ENCODING            gzip, deflate
_SERVER["HTTP_ACCEPT_ENCODING"] gzip, deflate
_ENV["HTTP_ACCEPT_ENCODING"]    gzip, deflate

这些行是否表明服务器支持 deflate/gzip 压缩?

如果不是,我该如何理解?

【问题讨论】:

  • 您总是可以从返回的标题中检查。一些要测试的网站:gidnetwork.com/tools/gzip-test.phpredbot.org
  • 问题是所有这些工具都告诉我网站上没有压缩!
  • 如果您在脚本顶部添加&lt;?php ob_start( 'ob_gzhandler' ); ?&gt;,它将告诉 php/apache 在输出时对其进行压缩。
  • 谢谢,我知道,但我喜欢用 apache 压缩
  • 感谢克里斯的编辑

标签: php apache .htaccess gzip deflate


【解决方案1】:
`HTTP_ACCEPT_ENCODING gzip, deflate '`. 

这一行说明了一切。已经配置好了。

【讨论】:

  • 谢谢...但是为什么我的网站没有压缩?!
  • 你怎么知道没有压缩正在进行?
【解决方案2】:

经过一番搜索,可以通过设置 PHP 值 zlib.compression_output = On 默认启用 PHP 脚本压缩。这样一来,PHP 脚本的行为就像您手动输入 ob_start("ob_gzhandler") 一样。

对于 Apache,您似乎只能使用 SetOutputFilter 进行设置。

【讨论】:

    猜你喜欢
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-23
    • 2010-12-24
    • 1970-01-01
    相关资源
    最近更新 更多