为什么我的自定义错误文件相对于每个虚拟主机(apache)?

首先,我的服务器configuration是openSUSE 11.4,我的web服务器是apache 2.2

我想更改Web服务器的错误文件,但是我不能让Apache知道错误文件与每个虚拟主机都不相关!

我编辑了/ etc / apache中的error.conf文件,并删除了关于本地化的所有废话(不关心),并添加:

ErrorDocument 404 /srv/www/errors/404.html 

重新启动Apache,然后尝试访问不存在的内容。

输出是:

未find在此服务器上未find请求的URL / notadocument。 此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。

我检查错误日志,看看这个:

 [Mon Aug 01 15:34:36 2011] [error] [client xxxx] File does not exist: /home/andreas/www/notadocument [Mon Aug 01 15:34:36 2011] [error] [client xxxx] File does not exist: /home/andreas/www/srv 

正如你所看到的,Apache试图查看我的虚拟主机的目录,而不是在服务器的根目录!

我该如何解决?

我猜你从上面说的,你试图指向没有提供的Apache文件,而只是本地访问?

如果是这样的话,我可以给你一个部分的答案。 你可能想要做的是添加一个types指令到你的虚拟主机文件… 更多信息目录 。 这应该允许Apache访问该位置。 你甚至可能想要别名目录。

就像我说的这是一个部分的答案,因为它不是我曾经尝试过,但因为没有任何其他的答案在这里,但希望这可以帮助你在正确的方向。