我有上面提到的设置。所有工作正常除了一个问题,因为缺少.php文件我总是得到一个空白页面,其中包含'找不到文件'消息(顺便提一下,状态代码为404)。我的vhost中有ErrorDocument 404行,但看起来它在FastCGI的情况下不起作用(对于没有路由到FastCGI的文件,它仍然可以工作)。在此配置中是否有正确的404处理方法?这是我的vhost:
<VirtualHost *:80>
ServerAdmin info@domain.com
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/xxx/yyy/
<Directory /var/www/xxx/yyy>
Options FollowSymLinks -MultiViews
AllowOverride FileInfo AuthConfig Limit Options
Order allow,deny
allow from all
</Directory>
FastCgiExternalServer /var/www/xxx/yyy/php.fastcgi -socket /tmp/php-fpm -pass-header Authorization
Action php-fpm-yyy /php.fastcgi virtual
<FilesMatch ".+(php|html)$">
SetHandler php-fpm-yyy
</FilesMatch>
ErrorDocument 404 /map.php
ErrorLog ${APACHE_LOG_DIR}/yyy/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/yyy/access.log combined
</VirtualHost>