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
и добавив туда свой конфиг.