php – Apache mod_deflate不压缩json输出

我已经按照多个教程中的所有步骤在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列表的末尾.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...