©
本文档使用 PHP中文网手册 发布
网站所有者反复提出的问题是,是否选择非 www 或 www 网址。本页面提供了一些有关最好的建议。
In an HTTP URL, the first substring that follows the initial http://
or https://
is called the domain. It is the name of the server where the document resides.
服务器不一定是物理机器:几台服务器可以驻留在同一台物理机器上。或者,一台服务器可以由多台机器处理,合作产生答案或平衡它们之间的请求负载。关键是,一个域名在语义上代表一台服务器。
是的,你需要选择一个并坚持下去。选择哪一个作为您的规范位置是您的选择,但是如果您选择一个,请坚持使用它。它会让你的网站对用户和搜索引擎更加一致。这包括始终链接到所选域名(如果您在网站中使用相对 URL,这应该不难),并始终将链接(通过电子邮件/社交网络等)共享到同一个域名。
不,你可以有两个。重要的是你是一致的,并与哪一个是官方域名一致。这个官方域名称为 规范 名称。你所有的绝对链接都应该使用它。但即便如此,您仍然可以使其他域名正常工作:HTTP 允许使用两种技术,以便您的用户或搜索引擎明确哪些域是规范域,同时仍允许非规范域工作并提供预期页面。
因此,请选择一个您的域名作为您的域名!下面有两种技术可以让非规范域继续工作。
有不同的方法可以选择哪个网站是规范的。
在这种情况下,您需要配置接收 HTTP 请求的服务器(对于www和非www URL,这很可能是相同的),以响应301
对非规范域的任何请求的足够 HTTP 响应。这会将尝试访问非规范 URL 的浏览器重定向到其规范等效项。例如,如果您选择使用非www网址作为规范类型,则应将所有 www 网址重定向到其没有 www 的等效URL。
示例:
1. 服务器收到请求http://www.example.org/whaddup
(当规范域是 example.org时)
2. 服务器301
使用包含Location
标题的代码进行回答: http://example.org/whaddup
。
3. 客户端向规范域发出请求: http://example.org/whatddup
HTML5样板项目有一个例子如何配置Apache服务器重定向到一个域到另一个。
<link rel="canonical">
可以在页面中添加一个特殊的 HTML <link>
元素来指示页面的规范地址是什么。这对页面的人类读者没有任何影响,但会告知搜索引擎搜寻器页面实际所在的位置。这样,搜索引擎就不会多次索引同一页面,有可能导致它被视为重复的内容或垃圾邮件,甚至从搜索引擎结果页中删除或降低您的页面。
当添加这样的标签时,您为两个域提供相同的内容,告诉搜索引擎哪些 URL 是规范的。在前面的例子中,http://www.example.org/whaddup
会提供相同的内容http://example.org/whaddup
,但<link>
在头部还有一个额外的元素:
<link href="http://example.org/whaddup" rel="canonical">
与以前的情况不同,浏览器历史记录会将非www和www的 URL 视为独立条目。
利用这些技术,您可以配置服务器以正确响应www前缀和非www前缀域。这样做是一个很好的建议,因为您无法预测哪些 URL 用户将在浏览器的 URL 栏中输入内容。选择哪种类型作为规范位置,然后将其他类型重定向到它是一个问题。
这是一个非常主观的话题,它可以被认为是一个自相矛盾的问题。