为了在Apache中显示自定义的文件未找到(HTTP 404)页面,配置如下:<FilesMatch ".+.php$">
SetHandler application/x-httpd-php
</FilesMatch>
Action application/x-httpd-php /fcgi-bin/php5-fpm virtual Alias
/fcgi-bin/php5-fpm /fcgi-bin-php5-fpm FastCgiExternalServer
/fcgi-bin-php5-fpm -socket /var/run/php5-fpm.sock -idle-timeout 600 -pass-header Authorization
对于不存在的非PHP文件的请求将回答使用自定义的404 pagenotfound.htm文件。没有问题。<Directory "/home/http/domain/root">
..
ErrorDocument 404 /pagenotfound.htm
..
</Directory>
但是,对于不存在的PHP文件的请求将回答使用http-status-header "HTTP/1.1 404 Not Found"和内容“File not found.”,因此不会使用我的自定义错误页面。有问题!
Apache错误日志在这种情况下显示:
在使用PHP-FPM时,如何为不存在的PHP文件配置自定义404页面?[Sat Nov 21 14:03:07 2015] [error] [client xx.xxx.xx.xx] FastCGI: server "/fcgi-bin-php5-fpm" stderr: Primary script unknown