首页>>帮助中心>>美国服务器Apache 2中的ErrorDocument

美国服务器Apache 2中的ErrorDocument

2025/1/12 10次

美国服务器当遇到问题或错误的时候,Apache能被配置为进行以下四种处理之一:
输出一个简单生硬的错误代码信息
输出一个经过定制的信息
重定向到一个本地的URL-path来处理这个问题(错误)
重定向到一个外部的URL来处理这个问题(错误)
默认会采取第1种方法,而第2-4种方法可以使用ErrorDocument指令后面跟随一个HTTP应答代码?一个URL或信息来进行配置。Apache有时会额外提供一些信息来描述所发生的问题/错误。
URL可以由一个斜杠(/)开头来指示一个本地URL(相对于DocumentRoot),或是提供一个能被客户端解释的完整的URL。此外还能提供一个可以被浏览器显示的消息。比如:
ErrorDocument 500 http://www.enuoidc.com/cgi-bin/testerErrorDocument 404 /cgi-bin/bad_urls.plErrorDocument 401 /subscription_info.htmlErrorDocument 403 "Sorry can't allow you access today"
另外,特殊的"default"值可以被用来指定使用Apache内置的、简单的硬编码消息。当不需要这个定制特性的时候,可以用"default"恢复Apache内置的、简单的硬编码消息,否则将继承一个已有的ErrorDocument 。
ErrorDocument 404 /cgi-bin/bad_urls.plErrorDocument 404 default
请注意,如果您为ErrorDocument指定了一个外部的URL(比如说,任何在开头指示了类似"http"这样的访问方法的字符串),Apache将会向客户端发送一个重定向指令来告诉它在哪里找到这个文档,哪怕这个文档最后还是在这个服务器上。这里面包含着一些暗示:最重要的就是客户端无法接收到原始的错误状态代码,取而代之的是一个重定向状态代码。这将会使一些用状态代码来判断一个URL是否有效的web机器人或其它客户端产生误解。另外,如果您在"ErrorDocument 401"中使用了外部URL,客户端将不会提示用户输入密码,因为它根本没收到这样一个401的状态代码。所以,如果您想使用"ErrorDocument 401"指令,就必须指向一个本地的文档。
Microsoft Internet Explorer (MSIE)在服务器端产生的错误信息"很小"的时候忽略它们而用自己"友好的"错误信息进行取代。这个大小的阈值根据错误类型而不同。但一般来说,如果您的错误信息的大小在512 byte以上,MSIE就会显示这些服务器端产生的错误文档而不会屏蔽它们。您可以在微软知识库的文章Q294807中获取更多信息。
虽然大多数错误信息可以被改写,但是在有些情况下,将仍然使用某些内置的错误信息而不管ErrorDocument如何设置。特别是在检测到一个"畸形"请求的情况下,正常的请求处理过程将会被立即中断,并且立即返回一个内置的错误信息。这是为了防止某些不良请求可能导致的安全问题。
在2.0版以前,信息前面会用一个不配对的双引号作为前导标志。

购买使用一诺网络香港服务器,可以极大降低初创企业、中小企业以及个人开发者等用户群体的整体IT使用成本,无需亲自搭建基础设施、简化了运维和管理的日常工作量,使用户能够更专注于自身的业务发展和创新。香港服务器低至29元/月,购买链接:https://www.enuoidc.com/vps.html?typeid=2