Apache 2.4 + PHP-FPM,如何为不存在的 php 文件设置错误页面
Apache 2.4 + PHP-FPM, how to set error page for non-existing php file
我目前正在使用 Apache 2.4 + PHP-FPM,除了获取不存在的 php 文件的错误页面外,一切正常:
如果请求不存在的 php 文件,那么我会得到响应 "File not found."。但我想要的是将该请求重定向到我们的错误页面。
因为所有的php请求都会先到php_fpm,所以php默认的错误页面机制是行不通的。
我尝试了一些 mod_rewrite 东西,但也没有用:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*\.php(/.*)?)$ /path/to/404.html [R=404,L]
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/path/to/file/
提前感谢您的帮助!
最后我通过添加解决了这个问题:
ProxyErrorOverride on
我目前正在使用 Apache 2.4 + PHP-FPM,除了获取不存在的 php 文件的错误页面外,一切正常:
如果请求不存在的 php 文件,那么我会得到响应 "File not found."。但我想要的是将该请求重定向到我们的错误页面。
因为所有的php请求都会先到php_fpm,所以php默认的错误页面机制是行不通的。
我尝试了一些 mod_rewrite 东西,但也没有用:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*\.php(/.*)?)$ /path/to/404.html [R=404,L]
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/path/to/file/
提前感谢您的帮助!
最后我通过添加解决了这个问题:
ProxyErrorOverride on