2

我用 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 处理程序。

有什么办法吗?

4

1 回答 1

1

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

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

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;

等等。

于 2012-05-24T14:37:49.437 回答