问题描述
我尝试在 Ubuntu 20.04 上使用 Apache 启用 brotli。它有效,但不适用于用 PHP 生成的内容。
它适用于 HTML 文件:
$ curl -v -H "Accept-Encoding: gzip,deflate,br" https://server.tld/pp.html 2>&1 | grep content-encoding
< content-encoding: br
但如果是 PHP 则不起作用 - 在这种情况下,内容是用“gzip”压缩的:
$ curl -v -H "Accept-Encoding: gzip,br" https://server.tld/pp.PHP 2>&1 | grep content-encoding
< content-encoding: gzip
奇怪的是,如果我将“br”指定为“Accept-Encoding”中的唯一值(但浏览器使用“gzip、deflate、br”),它确实适用于 PHP:
$ curl -v -H "Accept-Encoding: br" https://server.tld/pp.PHP 2>&1 | grep content-encoding
< content-encoding: br
那么,这里有什么问题?
我通过运行启用了 brotli:
a2enmod brotli
并将以下部分添加到 vhost(随后是 apache 重启):
AddOutputFilterByType broTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/x-javascript application/javascript application/json application/x-font-ttf application/vnd.ms-fontobject image/x-icon
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)