通过HttAccess禁用Apache http2公告

通过HttAccess禁用Apache http2公告,apache,.htaccess,header,upgrade,http2,Apache,.htaccess,Header,Upgrade,Http2,我在共享主机上有一个网站,在每个页面请求上使用以下HTTP头进行响应: HTTP/1.1 200 OK Date: Thu, 21 Sep 2017 14:34:46 GMT Server: Apache X-Powered-By: PHP/5.6.31 Access-Control-Allow-Origin: * Upgrade: h2,h2c Connection: Upgrade, Keep-Alive Keep-Alive: timeout=5, max=400 Transfer-Enc

我在共享主机上有一个网站,在每个页面请求上使用以下HTTP头进行响应:

HTTP/1.1 200 OK
Date: Thu, 21 Sep 2017 14:34:46 GMT
Server: Apache
X-Powered-By: PHP/5.6.31
Access-Control-Allow-Origin: *
Upgrade: h2,h2c
Connection: Upgrade, Keep-Alive
Keep-Alive: timeout=5, max=400
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
正如您所注意到的,有一个
升级
标题,它是Apache关于支持HTTP2协议的声明

出于某种原因,我需要禁用Apache的这种行为,以便在不使用
升级
头的情况下发送响应

谁知道如何从.htaccess文件中禁用它? 我已经找到了这个解决方案:

Header unset Upgrade
但这不是一个好方法,因为有时我需要从我的代码中输出一个自定义的
升级
头(需要向一些热敏打印机设备广播固件升级)


谢谢

请尝试使用此配置将其关闭:

或者,对于.htaccess-only解决方案,使用
标题编辑功能:

Header edit Upgrade (.*)h2,h2c(.*) "$1$2"

注意,这可能会给您留下一个空的升级标题,您可能必须根据服务器上显示的内容(例如额外的逗号)更改配置。

问题是我无法编辑常规Apache配置,因为我在共享主机上。我想知道在httpaccess文件中是否有一些事情要做。编辑了我的答案以显示如何编辑标题(在.htaccess文件中允许)。