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

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

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

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

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

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

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


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

1
задан 5 December 2015 в 23:10
1 ответ

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

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

После удаления этой строки она заработала.

1
ответ дан 3 December 2019 в 23:55

Теги

Похожие вопросы