PHP - 如何向请求发送200代码响应并转发它?

时间:2013-09-23 20:15:18

标签: php wordpress http

我正在将其他公司服务与我们的服务集成,他们希望向我们发送xml帖子请求并使用xml获得200响应,但之后我还需要转发请求。

当用户点击其页面上的链接时,会将其发送到我们的网站,该链接会向我们发送xml帖子请求。我们应该发回一个xml响应,然后将用户转发到我们的主页。

我已经想出了一个或另一个,但不是通过设置标题。

对于200回复​​:

header("Content-type: text/xml");
header("HTTP/1.1 200 OK");
header("Status: 200");

echo 'my-xml';
exit;

前锋:

header("Location: http://www.example.com/");
exit;

但我无法弄清楚如何做到这两点?

此外,这是通过拦截pre_get_posts过滤器在Wordpress中完成的,该过滤器工作正常。

1 个答案:

答案 0 :(得分:3)

您无法在HTTP标头中完全执行此操作。执行header("Location: http://www.example.com/");会导致PHP执行隐式 Status: 302响应,header()调用之前的输出也会触发警告。

此外,由于您要将XML发送到浏览器而不是HTML,因此没有其他机制可以执行重定向。要么你误解了你的要求,要么你正在整合的API要求你做一些不可能的事情。