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

Почему мои пользовательские файлы ошибок относятся к каждому виртуальному хосту (apache)?

Во-первых, моя конфигурация сервера - openSUSE 11.4, а мой веб-сервер - apache 2.2.

Я хочу изменить файлы ошибок для веб-сервера, но я не могу заставить apache понять, что файлы ошибок не относятся к каждому виртуальному хосту!

Я отредактировал error.conf в / etc / apache и удалил всю чушь о локализации (не волнуйтесь об этом) и добавил:

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

Перезагрузите apache, а затем я пытаюсь получить доступ к тому, чего не существует.

Результат:

Не найден Запрошенный URL / документ не найден на этом сервере. Кроме того, при попытке использовать 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 пытается заглянуть в каталог моего виртуального хоста, а не в корень сервера!

Как это исправить?

Я предполагаю из того, что вы сказали выше, что вы пытаетесь указать на файлы, которые не обслуживаются apache, а вместо этого доступны только локально?

В таком случае я могу дать вам частичный ответ. Что вы, вероятно, захотите сделать, так это добавить директиву типа в свой файл vhosts ... Больше информации о Каталоге. Это должно позволить Apache получить доступ к этому месту. Возможно, вы даже захотите создать псевдоним для каталога.

Как я уже сказал, это частичный ответ, поскольку я никогда раньше не пробовал этого, но, поскольку других ответов здесь пока нет ... надеюсь, это поможет вам двигаться в правильном направлении.