我的apache VirtualHost包含一个ErrorDocument指令:
<VirtualHost *:80> ServerName test DocumentRoot /var/www/html/test/ ErrorDocument 404 /error/404.txt </VirtualHost>
文件/var/www/html/test/error/404.txt确实存在。
当试图访问一个不存在的文件时,我从apache得到一个错误的错误消息:
在此服务器上找不到请求的URL / foo。
- 为什么我的apache2崩溃? Althoought在我的服务器上获得更多的空间和内存
- 如何正确使用php与多个域的sendmail
- 禁用Apache中的匿名密码不起作用
- dynamic/静态页面上的间歇性巨大的TTFB
- 禁用Apache的虚拟主机的IP,但不是(子)域
此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。
错误日志包含:
[error]文件不存在:/ var / www / html / test / foo [error]文件不存在:/var/www/error/404.txt
为什么apache的错误文档path相对于/var/www (apache用户的家目录),而不是相对于虚拟主机的DocumentRoot ,如文档中所述 ?
URL可以以斜杠(/)开始,用于本地Webpath(相对于DocumentRoot),…
在CentOS 6.7上,Apache 2.2发生这种情况。
这个错误的原因是默认configuration:
Alias /error/ "/var/www/error/"
删除这条线使它工作。