我正在尝试创建一些自定义错误页面,但好像无法让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文件,所以我进行了更改:
一开始,我认为可能是因为这是一个PHP文件,所以我进行了更改:
error_page 500 = /error.php?code=500;
转到一个静态页面:
error_page 500 /500.html
但是当我破坏一些PHP代码以触发它时,它仍然只显示一个空白页面和500响应代码。然后我尝试将其变为
location ~ \.php$
内的最后一个规则,但结果相同。有什么想法,为什么自定义的500页面不起作用?我还注意到,如果您尝试访问具有.php扩展名的“访问被拒绝”文件,它将不会显示自定义的403页面,而是显示内置页面。有没有办法使规则也适用于.php文件?