普通的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: