[英]Apache mod_deflate not compressing json output
我已经按照多个教程中的所有步骤在Apache中启用mod_deflate但是当我向本地Web服务器发出json(通过PHP脚本)请求时,我仍然没有看到压缩(在Fiddler中)。 我的浏览器不需要压缩到localhost,但我的机器会定期通过慢速VPN暴露,所以我想使用它。
来自httpd.conf:
LoadModule deflate_module modules/mod_deflate.so
(未注释掉)
mod_deflate.so存在于Apache2 / modules中
运行时,PHP脚本会立即设置以下标头: header('Content-Type: application/json');
application/json
存在于Apache2 / conf / mime.types中
这是httpd.conf中关于应该压缩的mime类型的相关部分:
Alias /mapguide "C:/Program Files/OSGeo/MapGuide/Web/www/"
<Directory "C:/Program Files/OSGeo/MapGuide/Web/www/">
AllowOverride All
Options All -Indexes
Order allow,deny
Allow from all
...
# Content compression
AddType text/javascript js jgz
AddOutputFilterByType DEFLATE text/javascript application/json text/html
RewriteEngine on
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
</Directory>
当我向服务器发出请求时,请求标头包括Accept-Encoding: gzip, deflate
,但响应返回未压缩。 每次.conf更改后我都重启了Apache。
任何建议都非常欢迎!
疯狂猜测...可能在配置中添加为新行:
AddOutputFilter DEFLATE php
或添加
application/x-httpd-php
到您现有的AddOutputFilterByType列表的末尾。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.