diff options
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | main/SAPI.c | 4 |
2 files changed, 5 insertions, 1 deletions
@@ -17,6 +17,8 @@ PHP NEWS __inet_pton() and inet_ntop() was named __inet_ntop(). (Hannes) - Fixed the validate email filter so that the letter "v" can also be used in the user part of the email address. (Derick) +- Fixed bug #39984 (redirect response code in header() could be ignored in + CGI sapi). (Ilia) - Fixed bug #39971 (pg_insert/pg_update do not allow now() to be used for timestamp fields). (Ilia) - Fixed bug #39952 (zip ignoring --with-libdir on zlib checks) (judas dot diff --git a/main/SAPI.c b/main/SAPI.c index 8abca79ed2..4c14712a19 100644 --- a/main/SAPI.c +++ b/main/SAPI.c @@ -631,7 +631,9 @@ SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg TSRMLS_DC) SG(sapi_headers).http_response_code > 307) && SG(sapi_headers).http_response_code != 201) { /* Return a Found Redirect if one is not already specified */ - if(SG(request_info).proto_num > 1000 && + if (http_response_code) { /* user specified redirect code */ + sapi_update_response_code(http_response_code TSRMLS_CC); + } else if (SG(request_info).proto_num > 1000 && SG(request_info).request_method && strcmp(SG(request_info).request_method, "HEAD") && strcmp(SG(request_info).request_method, "GET")) { |