www 的域 IP 地址和规范 URL 的非 www 的域 IP 地址
Posted
技术标签:
【中文标题】www 的域 IP 地址和规范 URL 的非 www 的域 IP 地址【英文标题】:Domain IP address for www and non-www for Canonical URL 【发布时间】:2013-11-03 05:09:33 【问题描述】:要处理规范 URL,最佳做法是执行 301 重定向还是更好地为 www 和非 www 域使用相同的 IP 地址?
例如:
想要的规范 URL/域是 http://example.com
Domain | A Record
------------------------------------
example.com | 192.0.2.34
www.example.com | 192.0.2.34
我知道人们可能有 www 的 CNAME 记录(别名,因为 CNAME 被称为规范名称);不确定这是否是与使用相同 IP 地址相比的最佳做法。
或者这样更好。
Domain | A Record
------------------------------------
example.com | 192.0.2.34
* www.example.com 301 redirect to example.com
【问题讨论】:
【参考方案1】:您描述的机制(A
和 CNAME
记录与 301
重定向)是两种不同协议(DNS 和 HTTP)的一部分。 A
和 CNAME
记录与您的 HTTP 服务器为不同请求服务的站点无关。
让我们看看两种不同的 DNS 配置:
配置 1(CNAME 记录)
Host | Type | Data
-----------------+-------+-------------
example.com | A | 192.0.2.34
www.example.com | CNAME | example.com
nslookup example.com
解析为 192.0.2.34
nslookup www.example.com
解析为 192.0.2.34
配置 2(A 记录)
Host | Type | Data
-----------------+-------+-------------
example.com | A | 192.0.2.34
www.example.com | A | 192.0.2.34
nslookup example.com
解析为 192.0.2.34
nslookup www.example.com
解析为 192.0.2.34
在这两种情况下,您的规范域和 www
子域都解析为 192.0.2.34
。但是,您的 HTTP 服务器唯一能识别的是它在同一 IP 地址上同时接收到 example.com
和 www.example.com
的请求。但它不知道你使用的是A
还是CNAME
记录。
TL;DR
您必须使用 HTTP 301 重定向来强制 HTTP 请求中的规范 example.com
。但这与您的 DNS 配置无关。
【讨论】:
感谢您的详细解释。 HTTP 重定向或将完成重定向的服务器的 A 记录将解决规范的 url 问题。你是一个善良的人,我很感激你的时间。 很好的解释。但我有一个问题。如何强制使用 www 而不是规范?对于我的一个域,即使我访问 www,它也只服务于规范域。它重定向到规范网址。有什么想法吗? @SD 重定向是由您的网络服务器引起的。检查您的网络服务器配置是否有任何从www
域到您的规范域的重定向,如果您不希望这样做,请删除它们。
@PoByBolek 你的意思是我应该检查 apache 配置吗?
@SD 是的,当然【参考方案2】:
你可以试试redirect.center。它仅使用 DNS 重定向域。 因此它将满足您的 DNS 配置:
Domain | A Record
------------------------------------
example.com | 192.0.2.34
* www.example.com 301 redirect to example.com
将您的 DNS 记录设置为:
CNAME |万维网 | example.com.opts-https.redirect.center
注意:.opts-https.
参数重定向到 https
域
如果您只使用http
域,请使用.opts-uri.
【讨论】:
这是我一生都在寻找的解决方案 :) 谢谢!!【参考方案3】:在 DNS 中,规范名称记录指向“一个真正的 DNS 条目”。最终结果是 DNSName1 与 DNSName2 具有相同的 IP 地址。
CNAME 不是规范名称这一事实使理解变得复杂。 CName 记录指向规范名称。 (规范名称为 A 记录)。
规范链接: 对于搜索引擎,页面 html 标头中的规范链接指定“一个真实页面”。您可以访问多个页面,但您使用规范链接告诉搜索引擎该页面与其他页面相同。这样做会让搜索引擎很高兴,因为您不会假装提供更多内容而只是重复,而不是在玩弄系统。它只索引一次。
301 (http) 重定向: 对于搜索引擎,这表示页面 x 现在被页面 y 替换,并且所有搜索排名都可以转移到页面 y。如果它是一种“装饰性”的域名标准化,它还会告诉搜索引擎只索引一个页面,并且再次表明您没有试图欺骗搜索引擎。
【讨论】:
以上是关于www 的域 IP 地址和规范 URL 的非 www 的域 IP 地址的主要内容,如果未能解决你的问题,请参考以下文章