FastCgi (php) 302 redirect

Igor Sysoev igor на sysoev.ru
Пн Июл 18 15:32:09 UTC 2011


On Mon, Jul 18, 2011 at 08:15:02AM -0400, aoz wrote:
> В связи с кривой реализацией firmware
> некоторых клиетов нужно вернуть 
> HTTP/1.1 302 Found.
> как это делал апач
> вместо 
> HTTP/1.1 302.
> как это делает nginx
> 
> Ощущение что при получении Location 
> nginx плюет на status и подставляет и
> процессит свой.
> 
> уже устал перибирать варианты и с
> параметрами и без:
> 
> <?php
> //header("Status: 302 Found", TRUE, 302);
> header("Location: login.php", TRUE, 302);
> header("HTTP/1.1 302 Found", TRUE, 302);
> error_log(print_r(headers_list(), true));
> ?>
> Может кто сталкивался?

nginx при работает с FastCGI берёт статус и строку из
1) заголовка "Status: XXXXXX",
2) если же заголовка Status нет, но есть заголовок Location, то
   выставляет статус "302 Moved Temporarily".
3) если заголовка Location нет, то статусная строка будет "200 OK".

До 0.7.8 заголовок Location не проверялся.

"HTTP/1.1 ..." FastCGI передать не может - не предусмотрено протоколом.


-- 
Игорь Сысоев
http://sysoev.ru



Подробная информация о списке рассылки nginx-ru