カスタム エラー ページをいくつか作成しようとしていますが、500 ページが機能しないようです。
私は次の設定を持っています:
server {
listen 80;
root /var/www/devsite;
index index.php;
server_name devsite;
error_page 403 = /error.php?code=403;
error_page 404 = /error.php?code=404;
error_page 500 = /error.php?code=500;
location / {
try_files $uri =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
最初は、それが PHP ファイルだからかもしれないと思ったので、次のように変更しました。
error_page 500 = /error.php?code=500;
静的ページへ:
error_page 500 /500.html
しかし、PHPコードを壊してトリガーすると、500応答コードを含む空白のページが表示されます。
次に、それを内部の最後のルールにしようとしましたlocation ~ \.php$
が、同じことが起こります。カスタム 500 ページが機能しない理由はありますか?
また、拡張子が .php の「アクセス拒否」ファイルにアクセスしようとすると、カスタム 403 ページが表示されず、代わりに組み込みページが表示されることにも気付きました。ルールを .php ファイルにも適用する方法はありますか?