我想使用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
个指令。
你能否告诉我为什么阿帕奇无视我?
为了确保我会提到我测试它的方式。我在.htaccess
中有C:\xampp\htdocs
个文件,其中包含以下内容
Order deny,allow
Allow from 127.0.0.1
Allow from ::1
Deny from all
其目的是拒绝访问所有不明确允许的子文件夹和文件,然后我只是向我的公共IP发送请求以拒绝访问。
答案 0 :(得分:0)
如果出现任何错误,首先要查看apache安装的logs/error.log
和logs/access.log
日志文件。
作为http://httpd.apache.org/docs/2.2/mod/core.html#errordocument状态的文档,此指令与当前主机配置的DocumentRoot
相关。
您没有使用默认的Apache HTTPD,而是使用预先配置的Apachefriends XAMPP,它具有一些特殊功能,例如: XAMPP附带的标准httpd.conf
通过
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
并在其中添加配置来分隔自定义配置通常是个好主意。