我的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压缩?
如果不是,我该如何理解?
经过相当多的搜索,可以通过设置PHP值zlib.compression_output = On
来默认启用PHP脚本压缩。这样,PHP脚本的行为就像手动放置ob_start("ob_gzhandler")
一样。
对于Apache,看起来你只能用SetOutputFilter
设置它
`HTTP_ACCEPT_ENCODING gzip, deflate '`.
这一行说明了一切。