Ser*_*oke 4 centos errordocument apache-2.2
我无法获得适用于 400 Bad Request 的自定义错误文档。它是一个 CentOS LAMP 服务器。
ErrorDocument 400 /badrdoc.html
Run Code Online (Sandbox Code Playgroud)
我试过使用上面的:
他们都没有工作。Apache 提供其默认的 400 Bad Request 页面。
任何人都可以对此有所了解吗?
编辑:忘了提及,我在更改后重新启动了 Apache。
我在使用自定义 400 错误文档时遇到了一些麻烦。我将此添加到我的 Apache conf 的顶层:
ErrorDocument 404 /404.html
ErrorDocument 400 /400.html
Run Code Online (Sandbox Code Playgroud)
并在DocumentRoot. 首先,我用以下方法测试了 404:
echo -en "GET /foo HTTP/1.0\n\n" | nc 127.0.0.1 80
Run Code Online (Sandbox Code Playgroud)
这返回了我的自定义 404。
然后是 400(注意缺少前导斜线):
echo -en "GET foo HTTP/1.0\n\n" | nc 127.0.0.1 80
Run Code Online (Sandbox Code Playgroud)
响应是默认的 Apache 400。
通过将 HTTP 与 HTTPS 虚拟主机通信,我确实设法恢复了我的自定义 400:
echo -en "GET / HTTP/1.0\n\n" | nc 127.0.0.1 443
Run Code Online (Sandbox Code Playgroud)
即使您发出无效请求,您仍然会得到相同的自定义 400:
echo -en "GET foo HTTP/1.0\n\n" | nc 127.0.0.1 443
Run Code Online (Sandbox Code Playgroud)
不幸的是,对于您的测试,与非 SSL 虚拟主机交谈 SSL 不会导致任何类型的 400。我仍然没有弄清楚如何ErrorDocuemnt 400在端口 80 上将自定义发送回。
PS我记得在某处读到过,文件中的文件ErrorDocument 400不起作用,.htaccess因为DocumentRoot如果请求格式错误,甚至可能无法确定正确的。这可能同样适用于基于名称的虚拟主机。
| 归档时间: |
|
| 查看次数: |
7019 次 |
| 最近记录: |