选择 www 和非 www URL

网站所有者经常遇到的一个问题是,是选择“www”(www.example.com)还是“非 www”(example.com)URL。此页面提供了一些关于最佳选择的建议。

什么是域名?

在 HTTP URL 中,紧跟初始 http://https:// 之后的第一个子字符串称为域名。此域名托管在文档所在的服务器上。

服务器不一定是物理机器:同一台物理机器上可以存在多个服务器。或者,一台服务器可以由多台机器处理,这些机器协作产生答案或在其之间平衡请求负载。关键是,从语义上讲,一个域名表示一台唯一的服务器

那么,我是否必须为我的网站选择其中一个?

  • 是的,您需要选择一个并坚持使用它。选择哪个作为规范位置由您决定,但如果您选择了一个,请坚持使用它。这将使您的网站在用户和搜索引擎看来更加一致。这包括始终链接到所选域名(如果您在网站中使用相对 URL,这应该不难)以及始终共享指向同一域名的链接(通过电子邮件/社交网络等)。
  • ,您可以拥有两个。重要的是您在哪个是官方域名方面保持连贯性和一致性。此官方域名称为规范名称。所有绝对链接都应使用它。但即使这样,您仍然可以使另一个域名正常工作:HTTP 允许使用两种技术,以便用户或搜索引擎清楚哪个域名是规范域名,同时仍然允许非规范域名正常工作并提供预期的页面。

因此,选择您的一个域名作为规范域名!下面有两种技术可以让非规范域名继续工作。

规范 URL 的技巧

有不同的方法可以选择哪个网站是规范的。

使用 HTTP 301 重定向

在这种情况下,您需要配置接收 HTTP 请求的服务器(这很可能是“www”和“非 www”URL 的同一个服务器),以便对非规范域名的任何请求都以适当的 HTTP 301 响应进行响应。这将重定向尝试访问非规范 URL 的浏览器到其规范等价物。例如,如果您选择使用“非 www”URL 作为规范类型,则应将所有“www”URL 重定向到其等价的无“www”的 URL。

示例

  1. 服务器接收对 http://www.example.org/whaddup 的请求(当规范域名是 example.org 时)。
  2. 服务器使用代码 301Location 标头 Location: http://example.org/whaddup 进行响应。
  3. 客户端向规范域名下的位置发出请求:http://example.org/whaddup

HTML5 样板项目如何配置 Apache 服务器以将一个域名重定向到另一个域名 上提供了一个示例。

可以向页面添加一个特殊的 HTML <link> 元素以指示页面的规范地址是什么。这对页面的阅读者没有影响,但会告诉搜索引擎爬虫页面实际所在的位置。这样,搜索引擎就不会多次索引同一页面,这可能会导致页面被视为重复内容或垃圾邮件,甚至从搜索引擎结果页面中删除或降低页面的排名。

添加此类标记时,您为两个域名提供相同的内容,并告诉搜索引擎哪个 URL 是规范的。在前面的示例中,http://www.example.org/whaddup 将提供与 http://example.org/whaddup 相同的内容,但在头部中添加了额外的 <link> 元素

html
<link href="http://example.org/whaddup" rel="canonical" />

与之前的情况不同,浏览器历史记录会将非 www 和 www URL 视为独立的条目。

使您的页面同时适用于两者

使用这些技术,您可以配置服务器以针对两者(带 www 前缀和不带 www 前缀的域名)正确响应。建议您执行此操作,因为您无法预测用户将在浏览器 URL 地址栏中输入哪个 URL。问题在于选择要使用哪种类型作为规范位置,然后将另一种类型重定向到它。

决定案例

这是一个非常主观的话题——它可以被认为是 自行车棚 问题。如果您想更深入地阅读,以下是一些资源

另请参阅