Answers:
请注意,通过域名访问的网站可能不会直接托管在IP地址的根目录下,即example.org
可以映射到123.45.67.89/~example
。对于普通的Web主机来说,这很常见,因为它们无法为每个网站分配IP地址-这将非常浪费。
举例来说,如果你做一个DNS查询的webmasters.stackexchange.com
,你会得到的IP地址198.252.206.140
(在网站上我联系到在右侧)。尽管IP地址确实进入了StackExchange页面,但它并没有指向网站站长部分,该部分可能位于198.252.206.140/www/webmasters
。
使用IP地址(或类似123.45.67.89/~example
)的一个缺点是需要一个静态IP地址。如果由于某种原因必须更改IP地址,则无法重定向用户。而使用域名,只需更新DNS记录以指向新的IP地址即可。
尽管不完全相关,但IP地址的另一个明显缺点是它们比名称和结尾更难记。
默认情况下,可以通过域名和IP地址访问网站。关于这个问题的不同答案/评论提供了不同的观点,我不想复制。
就个人而言,我不会按IP地址阻止访问,仅因为那不是人们期望互联网能够正常工作的方式。此外,普通用户永远不会随机找到您网站的IP地址,并且他绝对不会开始使用该IP地址共享指向您网站的链接。因此,在SEO和安全性方面所做的任何努力肯定会花在其他地方。
stackexchange.com
,而不会找到webmasters.stackexchange.com
。gwhois.org/webmasters.stackexchange.com+dns
173.194.41.161
,则最终获得Google的主页。
HTTP的原始版本不包含任何用于客户端指定主机名作为请求一部分的机制。它连接到服务器,仅发送URL的路径部分。对HTTP协议的早期修改之一是为客户端添加了发送其他“标头”信息(包括主机名)的功能。
20年前,浏览器对虚拟主机的支持非常差。那时,有充分的理由也可以仅从IP地址提供内容。一小部分客户端不会发送主机头。现在,主机名是每个浏览器和Web搜寻器发送的标准标头。
实际上,我发现如果服务器响应我的网站,则无法满足在IP地址上查找内容的请求。我倾向于看到IP仅请求是:
我现在更喜欢只为IP地址请求提供404错误,而不是为我的网站提供服务或重定向到我的网站。我的服务器还配置为向无法识别的主机名提供404页,如如何处理恶意域重定向的答案中所述。
特别是如果您有一个共享主机或自己托管多个域的服务器,则无法通过IP访问“网站”。对于您自己的服务器,您可以定义输入IP后到达的主域。对于共享主机,这是不可能的。
正如@Ijacqu所提到的,IP可以轻松更改。
另一件事是重复的内容,所以基本上这样做不是一个好习惯。
如果您想通过其服务器IP访问网站,则应将301或302绝对添加到域本身。
对于我管理的一台服务器,我添加了一个小型HTML站点,只是将“欢迎使用123.456.789.123”作为默认站点,因为该计算机上托管了多个客户项目,并且我只需要为该默认站点提供白标签解决方案。我使用apache虚拟主机进行了配置。
从SEO角度来看,这是一场灾难。
如果您有一个网站,例如stackexchange.com,并且也可以从ip地址访问它,则将导致重复的内容。
这将破坏您的排名,并使您的用户感到困惑,他们将在Google上搜索并找到2个针对相同主题的结果(一个可通过域名访问,另一个可通过IP地址访问)
切勿通过IP地址访问域。
如果您将一个域托管在单个服务器上,则最好的方法是将301 redirect
ip地址访问定向到该域。
如果服务器上有多个域,请禁用直接IP地址访问。
<link rel="canonical" href="http://example.com" />
以避免重复的内容。
仅2美分,我的Web服务器上有一些网站(大约8个),它们的IP地址都完全相同。通过使用主机头,FQDN可以帮助Web服务器(在我的示例中为Apache)将请求定向到相关网站的正确目录。默认情况下,该IP地址定向到我公司的网站。从2001年左右开始,我发现这是大多数Web托管提供商的规范,尤其是考虑到IPv4地址的当前状态。仅出于某种背景,我为Voyager.net(在密歇根州)工作了大约8年,而Voyager是一家托管公司和ISP,托管了80,000多个域,但我不知道我们托管了多少个网站。在旁注中,根据定义,FQDN用于将人类可读的地址分配给IP地址,以便我们可以更轻松地记住它们。再次只是我的2美分。
从安全角度来看,这是明智之举。
大多数人流量大的网站都会在某个地方使用CDN。因此,任何尝试进行的DOS或DDOS攻击都只会通过CDN服务器消散,而不会到达用户站点。
但是,如果用户知道该站点的IP地址,则可以直接对该IP发起攻击并立即关闭服务器。因此,大多数CDN都会为您提供隐藏服务器IP地址的选项。因此,向尝试访问该网站的用户提供404是一个不错的选择。可以通过.htaccess文件或通过将站点托管在默认服务器文档根目录之外的其他位置来完成此操作。