PHP-FPM+;nginx 1.1.15自定义错误页
我将PHP-FPM配置为nginx 1.1.15的后端。 我需要为来自PPH-FPM的错误定制40x、50x错误页面 例如,我从php脚本发送403头,希望nginx显示自定义页面。 nginx配置如下: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发送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;**
}