Назад | Перейти на главную страницу

apache: абсолютный ErrorDocument relative / var / www /?

Мой апач 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 не найден на этом сервере.

Кроме того, при попытке использовать ErrorDocument для обработки запроса возникла ошибка 404 Not Found.

Журнал ошибок содержит:

[ошибка] Файл не существует: / var / www / html / test / foo [ошибка] Файл не существует: /var/www/error/404.txt

Почему apache делает путь к документу с ошибкой относительно /var/www (домашний каталог пользователя apache) вместо виртуального хоста DocumentRoot, так как описано в документах?

URL-адреса могут начинаться с косой черты (/) для локальных веб-путей (относительно DocumentRoot), ...


Это происходит с Apache 2.2 на CentOS 6.7.

Причиной этой ошибки была конфигурация по умолчанию:

Alias /error/ "/var/www/error/"

Удаление этой строки заставило его работать.