首先,我的服务器配置是 openSUSE 11.4,我的 Web 服务器是 apache 2.2。
我想更改 Web 服务器的错误文件,但是我无法让 apache 理解错误文件与每个虚拟主机无关!
我编辑了 /etc/apache 中的 error.conf 并删除了所有关于本地化的废话(不关心这个)并添加:
ErrorDocument 404 /srv/www/errors/404.html
重新启动 apache,然后我尝试访问不存在的东西。
输出为:
未找到 请求的 URL /notadocument 未在此服务器上找到。此外,尝试使用 ErrorDocument 处理请求时遇到 404 Not Found 错误。
我检查错误日志并看到以下内容:
[Mon Aug 01 15:34:36 2011] [error] [client x.x.x.x] File does not exist: /home/andreas/www/notadocument
[Mon Aug 01 15:34:36 2011] [error] [client x.x.x.x] File does not exist: /home/andreas/www/srv
正如您所看到的,apache 尝试查找我的 vhost 的目录,而不是服务器的根目录!
我该如何解决?
答案1
从您上面所说的内容来看,我猜测您试图指向的是 apache 未提供的文件,而是仅可在本地访问的文件?
如果是这种情况,那么我可以为您提供部分答案。您可能想要做的是将类型指令添加到您的 vhosts 文件... 有关目录的更多信息。这应该允许 Apache 访问该位置。您甚至可能还想为目录设置别名。
就像我说的,这只是部分答案,因为这不是我以前尝试过的东西,但由于这里还没有其他答案......希望这能帮助你朝着正确的方向前进。