W7 Pro IIS 7.5 zastępuje lokalizację PHP: Nagłówek
Tworzę API RESTful w PHP i napotkałem problem. Gdy klient publikuje dane na serwerze, serwer powinien zwrócić:
Status code 201 CREATED
Header Location with the location of the new object
Content-Type application/xml
<SomeXmlData></SomeXmlData>
Kod sztuczny, powodujący problem na moim komputerze:
<?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>";
?>
Wynik HTTP to
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>
PHP automatycznie dodaje kod HTML i typ zawartości HTML do odpowiedzi z powodu nagłówka lokalizacji.
Z tego powodu moje api nie będzie działać z klientami.
EDYCJA: IIS 7.5 Windows 7 Proffesional