要处理规范URL,最佳做法是进行301重定向或更好地为www和非www域设置相同的IP地址吗?
例如:
Canonical URL / domain wanted is http://mydomain.com
Domain | A Record
------------------------------------
mydomain.com | 58.162.62.34
www.mydomain.com | 58.162.62.34
我理解人们可能有www的CNAME记录(别名,因为CNAME被称为Canonical Name);与使用相同的IP地址相比,不确定这是否是最佳做法。
或者这样更好。
Domain | A Record
------------------------------------
mydomain.com | 58.162.62.34
* www.mydomain.com 301 redirect to mydomain.com
答案 0 :(得分:117)
您描述的机制(A
和CNAME
记录与301
重定向)是两种不同协议(DNS和HTTP)的一部分。 A
和CNAME
条记录与HTTP服务器为不同请求服务的网站无关。
让我们看看两种不同的DNS配置:
Host | Type | Data
-----------------+-------+-------------
mydomain.com | A | 58.162.62.34
www.mydomain.com | CNAME | mydomain.com
nslookup mydomain.com
解析为58.162.62.34
nslookup www.mydomain.com
解析为58.162.62.34
Host | Type | Data
-----------------+-------+-------------
mydomain.com | A | 58.162.62.34
www.mydomain.com | A | 58.162.62.34
nslookup mydomain.com
解析为58.162.62.34
nslookup www.mydomain.com
解析为58.162.62.34
在这两种情况下,您的规范域和www
子域都会解析为58.162.62.34
。但是,您的HTTP服务器唯一能识别的是它在同一IP地址上接收mydomain.com
和www.mydomain.com
的请求。但它不知道您是否使用了A
或CNAME
记录。
您必须使用HTTP 301重定向来强制HTTP请求中的规范mydomain.com
。但这与您的DNS配置无关。
答案 1 :(得分:5)
您可以尝试{{3}}。它仅使用DNS重定向域 所以它将实现您的DNS配置:
Domain | A Record
------------------------------------
mydomain.com | 58.162.62.34
* www.mydomain.com 301 redirect to mydomain.com
将您的DNS记录设置为:
CNAME | www | mydomain.com.opts-https.redirect.center
注意:
.opts-https.
参数重定向到https
域
如果您仅使用http
域,请使用.opts-uri.
答案 2 :(得分:1)
在DNS中,规范名称记录指向"一个真正的DNS条目"。最终结果是DNSName1与DNSName2具有相同的IP地址。
由于CNAME不是规范名称,因此理解变得复杂。 CName记录指向规范名称。 (规范名称是A记录)。
规范链接: 对于搜索引擎,页面的html标题中的规范链接指定了一个真正的页面"。您可以访问多个页面,但使用规范链接告诉搜索引擎此页面与其他页面相同。这样做会让搜索引擎感到高兴,因为假装在只复制的地方提供更多内容,而不是游戏系统。它只对其进行一次索引。
301(http)重定向: 对于搜索引擎,这表示页面x现在被页面y替换,并且所有搜索排名都可以转移到页面y。如果它是一种化妆品"域名标准化它还告诉搜索引擎只索引一个页面,这又是一种表明你不试图欺骗搜索引擎的方式。