ErrorDocument в httpd.conf не работает

Я хочу использовать пользовательский файл ошибок для 403, но apache, похоже, просто игнорирует директиву ErrorDocument и просто дает мне документ об ошибке по умолчанию. Вот начало моего httpd.conf

ServerRoot "C:/xampp/apache"

Listen 80

ErrorDocument 403 "/403.html" 
ErrorDocument 404 "/403.html"

Я только добавил 404 чтобы увидеть, будет ли это работать, это не так. Файл 403.html существует вC:\xampp\apache\403.html

Я пытался переместить ErrorDocument Директива далее вниз в файле конфигурации, где комментарии, описывающие ErrorDocument директивное начало, но результат был таким же.

у меня нет ErrorDocument директивы в любом .htaccess файлы в папках, которые я тестирую.

Подскажите, пожалуйста, почему apache игнорирует меня?

РЕДАКТИРОВАТЬ

Просто чтобы быть уверенным, я упомяну способ, которым я проверяю это. у меня есть .htaccess файл в C:\xampp\htdocs со следующим содержанием

Order deny,allow
Allow from 127.0.0.1
Allow from ::1
Deny from all

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

1 ответ

Решение

Первое место, которое нужно искать в случае любой ошибки, это logs/error.log а также logs/access.log лог-файлы вашей установки apache.

Как указано в документации по адресу http://httpd.apache.org/docs/2.2/mod/core.html, эта директива относится к DocumentRoot вашей текущей конфигурации хоста. Вы не используете Apache HTTPD по умолчанию, а вместо этого предварительно настроенный Apachefriends XAMPP, который имеет некоторые особенности, например стандарт httpd.conf приходит с XAMPP ссылается на ErrorDocumentчерез

# Multi-language error messages
Include conf/extra/httpd-multilang-errordoc.conf

По умолчанию httpd.conf ваш DocumentRoot является C:\apache\htdocs так с вашими вышеупомянутыми изменениями (а именно ErrorDocument 403 "/403.html") в вашем httpd.confвам нужно будет поместить эти файлы в C:\xampp\htdocs\403.html,

Кроме того, обычно хорошей идеей является разделение вашей пользовательской конфигурации путем добавления Include conf/my-custom.conf в httpd.conf и добавив туда свой конфиг.

Другие вопросы по тегам