适用于PHP的Nginx + fastCGI error_page [英] nginx + fastCGI for PHP error_page

查看:56
本文介绍了适用于PHP的Nginx + fastCGI 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆