我的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压缩?
如果不是,我该怎么理解?
答案 0 :(得分:0)
`HTTP_ACCEPT_ENCODING gzip, deflate '`.
这一行告诉了一切。它已配置。
答案 1 :(得分:0)
经过一番搜索后,默认情况下可以通过设置PHP值zlib.compression_output = On
来启用PHP脚本的压缩。这样,PHP脚本的行为就像你手动放置ob_start("ob_gzhandler")
一样。
对于Apache,您似乎只能使用SetOutputFilter
设置它。