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

时间:2012-04-03 20:20:12

标签: nginx php

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

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

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

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

但是当我从php发送403标题时,nginx会显示它的原生“403 Forbidden”页面,而不是我的自定义。

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

的一部分

UPD:我找到了解决方案。

    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;
    }

0 个答案:

没有答案