这是我的vhost文件:
<VirtualHost *:80>
ServerName awesome.dev
## Vhost docroot
DocumentRoot "/var/www/awesome"
## Directories, there should at least be a declaration for /var/www/awesome
<Directory "/var/www/awesome">
Options Indexes FollowSymLinks MultiViews
DirectoryIndex index.PHP
AllowOverride All
Require all granted
</Directory>
## Logging
ErrorLog "/var/log/apache2/w0JhArMoDehc_error.log"
ServerSignature Off
CustomLog "/var/log/apache2/w0JhArMoDehc_access.log" combined
## Server aliases
ServerAlias www.awesome.dev
## SetEnv/SetEnvIf for environment variables
SetEnv APP_ENV dev
ProxyPassMatch ^/(.*\.PHP(/.*)?)$fcgi://127.0.0.1:9000/var/www/awesome/$1
</VirtualHost>
例如,如果/var/www/awesome/index.PHP存在并且我转到http://foo.com/index.php我得到了正确的响应,但是如果/var/www/awesome/foo.PHP不存在并且我转到http://foo.com/foo.php,我只是得到文件未找到的响应..
没有读取.htaccess文件,因为Apache将所有内容移交给PHP-FPM.
我需要捕获所有404请求并显示一个常见的错误页面,就像您通常在任何站点上看到的那样.
但是,由于Apache将所有内容都移交给PHP-fpm,它似乎并没有正确处理这些错误.
解决方法:
我曾经有同样的问题,最后我修复了它.
尝试在ProxyPassMatch设置后添加:
ProxyErrorOverride on
顺便说一句,别忘了你的
ErrorDocument 404 /path/to/file
设置.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。