2

このように、PHP用のfastCGIを使用してnginxでカスタムエラーページを設定すると、次のように機能します。

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エラーコードごとに1つのerror.phpがあるので、一般的な形式で設定したいと思いました。問題は、nginxがGETによってerror.phpに渡されるエラーコードを提供するかどうかわからないことです。

私は次のようなものを探しています:

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ハンドラーを設定するようなものを提供するかどうかわからないことです。

どうですか?

4

1 に答える 1

1

ぐるぐる回ってみると、最初はその変数があるようには見えません。

ただし、複数のエラーページディレクティブを設定できます。

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;

等々。

于 2012-05-24T14:37:49.437 に答える