【问题标题】:Apache removes status from headerApache 从标头中删除状态
【发布时间】:2018-12-18 10:15:03
【问题描述】:

Apache 从标题中删除了一行,我不知道为什么。这是PHP代码

header("status: 200");
header("test: 200");

当我使用 Fiddler 检查响应时,标题行中带有“状态”的第二行缺失,但存在“测试”。这仅在新服务器上发生,我不知道要检查什么。两台服务器都是托管的,所以我没有精力去检查它们。

我尝试查找 .htaccess 和 mod_header 设置,但找不到任何东西。

编辑 #1:我有 header("HTTP/1.1 200 OK");在上面的行之前。所以响应代码很好,但是客户端需要在响应中看到这个“状态:200”,因为旧版应用程序需要它。

编辑#2:问题是为什么一台服务器离开“状态:200”而另一台没有。

请帮忙。

【问题讨论】:

  • 我认为您设置的状态不正确...查看stackoverflow.com/questions/3258634/… 了解更多信息
  • @treyBake 谢谢,我意识到,问题是代码在一台服务器上运行,而不是在另一台服务器上运行,两台服务器上的 php 和 apache 版本相同。我需要尽快让它在两者上都能正常工作

标签: php apache


【解决方案1】:

您可以使用以下行设置状态标题:

header("HTTP/1.1 200 OK");

这是在 PHP 中设置 http 状态的常用方法。 200 是“OK”的正常状态码。因此,如果您没有产生错误,您的 Web 服务器将已经返回 200。所以您应该检查存在的 Header。

这里是http中使用的标头统计列表。

https://www.whitehatsec.com/blog/list-of-http-response-headers/

【讨论】:

  • 是的,就是这样做的,但最初的问题是“为什么一台服务器删除添加的状态行而另一台没有?”
猜你喜欢
  • 1970-01-01
  • 2014-11-06
  • 2013-08-22
  • 1970-01-01
  • 2022-10-06
  • 2011-02-19
  • 2014-01-15
  • 2017-09-18
相关资源
最近更新 更多