代码如:
<?php
header('Location: http://www.google.com', TRUE, 200);
在apache + php中运行时,http_response_code为200,但在nginx + php-fpm中运行时,http_response_code为302。
nginx + php-fpm会发生什么?
答案 0 :(得分:1)
在阅读了nginx的源代码之后,我在/src/http/modules/ngx_http_fastcgi_module.c第1564行找到了一些关于设置状态代码为302的代码。
header('Location: http://www.google.com', TRUE, 200);
响应代码200不会通过fpm传递给nginx,因此响应代码将设置为302