NGINX上PHP header问题

普通的header在nginx上不能识别,

例如 

header('HTTP/1.1 304 Not Modified');

nginx 不会输出304,而是普通的200, 原来是nginx识别不了这种写法

要改成 

header("status: 304 Not Modified");

PHP5.4及以上有 http_response_code貌似可以消除这种跨平台的差异

也可以用php_sapi_name() 判断 nginx下会返回 cgi-fcgi

if(php_sapi_name()=='cgi-fcgi')
{
    header("status: 304 Not Modified");
}
else
{
    header('HTTP/1.1 304 Not Modified');
}

其他状态码 404 ,500 也是同理, 将 HTTP/1.1 换成 status: 

你可能感兴趣的:(NGINX上PHP header问题)