gpt4 book ai didi

php - W7 Pro IIS 7.5 覆盖 PHP 位置 : Header

转载 作者:可可西里 更新时间:2023-11-01 13:43:23 25 4
gpt4 key购买 nike

我正在用 PHP 创建 RESTful API,但遇到了问题。当客户端向服务器发送数据时,服务器应该返回:

Status code 201 CREATED
Header Location with the location of the new object
Content-Type application/xml

<SomeXmlData></SomeXmlData>

伪代码,在我的电脑上产生问题:

<?php
header("Location: http://google.no/",true,201);
header("Content-Type: application/xml;charset=iso-8859-1");

echo "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\n";
echo "<Jada></Jada>";
?>

HTTP 结果是

HTTP/1.1 201 Created
Content-Type: text/html; charset=UTF-8
Location: http://google.no/
Server: Microsoft-IIS/7.5
X-Powered-By: PHP/5.4.5
X-Powered-By: ASP.NET
Date: Wed, 22 Aug 2012 13:52:57 GMT
Content-Length: 209

<head><title>Document Moved</title></head>
<body><h1>Object Moved</h1>This document may be found <a HREF="http://google.no/">here</a></body><?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Jada></Jada>

由于位置 header ,PHP 会自动向响应添加一些 HTML 代码和 HTML 内容类型。

因此,我的 api 无法与其客户端一起使用。

编辑:IIS 7.5 Windows 7 专业版

最佳答案

很抱歉带来坏消息,但请看这里:

Prevent IIS from changing response when Location header is present

Edit: Never did find an answer - I ended up switching to Apache

IIS 似乎已经涉足标题很长时间了:

http://forums.iis.net/t/1158431.aspx

This is a bug in IIS FastCGI module. It will be fixed in Windows 7 RTM. We are also looking into possible ways for making this fix available for IIS 7.

希望 如果这些错误是相关的(我希望它们是相关的),如果您现在有 FastCGI,那么下面的修复可以工作。否则,切换到 PHP 非 FastCGI 模块也可能有效,并且可能比使用 Apache 更容易。

http://support.microsoft.com/kb/980363

关于php - W7 Pro IIS 7.5 覆盖 PHP 位置 : Header,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12074730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com