nginx + fastCGI for PHP error_page

时间:2012-05-24 14:25:00

标签: php nginx fastcgi custom-error-pages

我使用fastCGI for PHP在nginx中设置了自定义错误页面,这样就可以了:

root <FOLDER>;
error_page 404 /error.php?404;
location = /error.php {
    include /etc/nginx/fastcgi.conf;
    fastcgi_pass  127.0.0.1:1234;
    root  <FOLDER>;
}

但由于每个HTTP错误代码都有一个error.php,我想以一般形式进行设置。问题是我不知道nginx是否提供了由GET传递给error.php的错误代码

我正在寻找类似的东西:

root <FOLDER>;
error_page 500 501 502 401 402 403 404 /error.php?NGINX_ERROR_CODE;
location = /error.php {
    include /etc/nginx/fastcgi.conf;
    fastcgi_pass  127.0.0.1:1234;
    root  <FOLDER>;
}

问题是NGINX_ERROR_CODE,我不知道它是否提供了设置常规error_page处理程序的功能。

有什么办法吗?

1 个答案:

答案 0 :(得分:1)

谷歌搜索,最初似乎没有变量。

但是,您可以设置多个错误页面指令。

error_page 401 /error.php?e=401;
error_page 402 /error.php?e=402;
error_page 403 /error.php?e=403;
error_page 404 /error.php?e=404;
error_page 500 501 502 /error.php?e=50x;

等等。