我想在nginx中添加自己的错误页面。在服务器配置中,我有:
error_page 404 /errors/404/index.php;
error_page 500 502 503 504 /errors/500/index.php;
location /errors/ {
root /var/www/<host>/public_html/;
internal;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_split_path_info ^(.+/\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
}
}
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_split_path_info ^(.+/\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
}
,并正确显示404错误。虽然我故意在php文件中犯了一个错误,以使服务器上出现500错误,但错误继续:https://i.imgur.com/rasHQ8r.png
有人知道为什么不显示给定页面吗? Nginx日志中没有错误。谢谢。