用Apache + PHP-FPM(SetHandler)返回一个自定义的500

我的Drupal 8网站托pipe在Apache 2.4 + PHP-FPM上(请参阅下面的configuration)。

Drupal自己pipe理404错误(一切都redirect到/index.php?q=),但是我想返回一个自定义页面,当一个严重的错误发生在PHP代码(错误500)。

由于它是一个PHP-FPM,如果没有“ProxyErrorOverride On”,“ErrorDocument 500”就无法正常工作,如果没有它,那么从“”proxy:fcgi“到Apache的所有内容都可以正常转发给用户。

但是,如果我启用ProxyErrorOverride ,所有的错误现在被Apache 抓住 ,我不能使用Drupal 404,我留下了静态的“ErrorDocument 404”。

有没有办法只设置一个自定义的500页面,而不要触及其余的apache行为?

<FilesMatch \.php$> SetHandler "proxy:fcgi://127.0.0.1:58243" # Catch backend errors ProxyErrorOverride On # Return a custom error ErrorDocument 500 "==== 500 =====" # I want this one to be ignored and be process by PHP-FPM #ErrorDocument 404 /404.html </FilesMatch>