适用于PHP的Nginx + fastCGI error_page [英] nginx + fastCGI for PHP error_page
问题描述
我像这样用PHP的fastCGI在Nginx中设置自定义错误页面,并且可以正常工作:
I set up custom error pages in nginx with fastCGI for PHP like this way and it works:
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的错误代码
But since I have one error.php for every HTTP error codes, I wanted to set up in a general form. The problem is that I don't know if nginx provide the error code to be passed by GET to error.php
我正在寻找类似的东西:
I am looking for something like:
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处理程序的功能.
The problem is NGINX_ERROR_CODE
which I don't know if it provides such a thing to set up general error_page handler.
有什么办法吗?
推荐答案
谷歌搜索,最初似乎没有它的变量.
Googling around, it doesn't initially appear that there's a var for it.
但是,您可以设置多个错误页面指令.
You can, however, set multiple error page directives.
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;
以此类推.
这篇关于适用于PHP的Nginx + fastCGI error_page的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!