如何在PHP中删除特定的HTTP响应头?
我想删除以下标题:如何在PHP中删除特定的HTTP响应头?,php,header,http-headers,Php,Header,Http Headers,我想删除以下标题: Connection: Keep-Alive Server: Apache/2.2.13 (Win32) Vary: Accept-Encoding Keep-Alive: timeout=5, max=66 我认为这不能在PHP中正确完成,因为这些头文件是由Apache设置的 有PHP5.3,但它只能删除PHP设置的标题(如果我理解正确的话)。您也可以通过再次发送空值来覆盖不需要的头,但原始值仍将被发送 最好是在Apache的配置中,在根目录下解决这个问题。例如,该指令可
Connection: Keep-Alive
Server: Apache/2.2.13 (Win32)
Vary: Accept-Encoding
Keep-Alive: timeout=5, max=66
我认为这不能在PHP中正确完成,因为这些头文件是由Apache设置的 有PHP5.3,但它只能删除PHP设置的标题(如果我理解正确的话)。您也可以通过再次发送空值来覆盖不需要的头,但原始值仍将被发送 最好是在Apache的配置中,在根目录下解决这个问题。例如,该指令可以更改“Server:”标题
相关:您可以将脚本转换为未解析的头CGI。为此,您必须将
example.php
脚本重命名为nph script.cgi
,使其可执行(+x),并添加shebang:
#!/usr/bin/php-cgi
<?php
#/usr/bin/php-cgi
使用PHP(或任何其他服务器站点语言)并发送头连接:close。这将导致Apache忽略Keep-Alive头,因为连接不再是keepalive。e、 g
header('Connection: close');
不确定它是否在所有类型的服务器上都能正常工作,欢迎提供建议
阅读更多你知道这些标题字段的用途吗?嗯..是的,我认为它们本身就说明了问题?你说的“用PHP设置”是什么意思?您是否考虑了PHP中的<代码>主机> <代码>连接> <代码>、<代码>内容类型< /代码>和<代码> x幂>由php设置的?@ Paulier-<代码> Head Error()/代码>只能删除PHP中以前由“代码>标题())/代码>设置的页眉。您提到的前两个头文件通常由Apache设置。使用header\u remove()
是否可以删除x-powered-by
,我不知道,但我想不会。Content-type
可以由PHP脚本设置,当它是时,它可能会被header\u remove()
撤销。我似乎可以在这里删除x-powered-by
。这不是Apache设置的吗?Apache和PHP之间的界线在哪里?@Pacerier它可能是由PHPWhat设置的,它相当于#/usr/bin/php cgi
在Windows上?@Pacerier没有真正的等价物。您将剥离shebang,将.php
文件扩展名绑定到cgi解释器,或者手动调用它。