未配置的 vhost 域名应该返回什么 HTTP 状态代码?
我有一个 vhost 设置,其中我将所有未配置的域捕获到默认 vhost 中并提供一个页面通知它已取消配置。
我是否应该返回 http 错误代码来通知客户端出现了问题,并可能阻止该页面被编入索引?或者我应该只返回 200 并使用 robots.txt?
答案1
使用样板 HTML 文件和 robots.txt - 如果您可能无法实施域名,则发布您的联系方式可能会有所帮助,以便潜在买家可以联系到您(特别是如果您使用 WHOIS 代理注册)。
答案2
404(未找到)很好:
服务器未找到与请求 URI 匹配的任何内容。没有给出该情况是暂时的还是永久的指示。如果服务器通过某种内部可配置机制知道旧资源永久不可用且没有转发地址,则应使用 410(消失)状态代码。当服务器不希望透露拒绝请求的确切原因或没有其他适用的响应时,通常使用此状态代码。
就您而言,您的虚拟主机中还没有任何内容与 URI 匹配。
当然,您可以同时返回一个内容随意的页面,不一定是默认的错误页面。
答案3
在 HTTP 状态代码列表中,这似乎501 - Not Implemented
是最合适的。但老实说,我认为这并不重要。对于我的万能虚拟主机,我通常只提供一个空白的 index.html。无论如何,没有合法用户会在那里结束,因此任何落入默认虚拟主机的东西要么是恶意脚本/机器人,要么是某个只是四处打探的人,并不需要真正的错误代码。