PHP-FPM+;nginx 1.1.15自定义错误页

PHP-FPM+;nginx 1.1.15自定义错误页,nginx,php,Nginx,Php,我将PHP-FPM配置为nginx 1.1.15的后端。 我需要为来自PPH-FPM的错误定制40x、50x错误页面 例如,我从php脚本发送403头,希望nginx显示自定义页面。 nginx配置如下: 但当我从php发送403头时,nginx显示的是原生的“403禁止”页面,而不是我的自定义页面 Upd:对不起。我没有给出nginx的完整配置。 我在nginx中处理404,并将所有查询传递给单个脚本。此脚本发送403个标头。所以nginx不显示自定义403页面。当我请求一个现有脚本时,为

我将PHP-FPM配置为nginx 1.1.15的后端。 我需要为来自PPH-FPM的错误定制40x、50x错误页面

例如,我从php脚本发送403头,希望nginx显示自定义页面。 nginx配置如下:

但当我从php发送403头时,nginx显示的是原生的“403禁止”页面,而不是我的自定义页面

Upd:对不起。我没有给出nginx的完整配置。 我在nginx中处理404,并将所有查询传递给单个脚本。此脚本发送403个标头。所以nginx不显示自定义403页面。当我请求一个现有脚本时,为了绕过nginx conf中的404规则,就会返回自定义错误页面。这是我的nginx.conf的一部分

    error_page 404 = @myhandler;

    location @myhandler {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME script.php;
        include fastcgi_params;
    }

    error_page  403 /403.html;
    location = /403.html {
        root   html;
        allow  all;
    }

    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_param  SCRIPT_FILENAME  $fastcgi_script_name;
        include        fastcgi_params;
    }
UPD:我找到了一个解决办法

**recursive_error_pages on;**
error_page 404 = @myhandler;

location @myhandler {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME script.php;
    include fastcgi_params;
    **error_page  403 /403.html;**
}
**recursive_error_pages on;**
error_page 404 = @myhandler;

location @myhandler {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME script.php;
    include fastcgi_params;
    **error_page  403 /403.html;**
}