Nginx的自定义PHP error_pages具有不同的标题状态码和正文内容

使用Nginx 0.8.54:我设置PHP错误页面做一些链接的redirect和其他404和显示自定义的HTML正文。 nginx

server { error_page 404 = /err/error.php?error=404; } 

error.php

 <?php if( $_SERVER['REQUEST_URI'] == "/blah" ){ header('Status: 301 Moved Permanently'); header('location: http://localhost/ '); }else header('Status: 404 Not Found'); echo 'This is a custom Error Page'; ?> 

Nginxredirect没有问题,但是对于404自定义页面,Nginx发送404头并显示默认的Nginx页面,而不是“这是一个自定义错误页面”文本。

你试过没有设置header('Status: 404 Not Found'); 两次? (例如,这已经是一个404错误页面)