之前写了一篇 建站基础:外贸网站和企业邮箱的域名解析 ,
这篇接着来写:购买完成 Bluehost 之后,应该怎么去操作,完成域名的解析以及 301 重定向。
PS:之前推荐过 bluehost,详见:外贸建站推荐:Bluehost 美国主机空间及注册购买流程
由于访问 abc.com 和 访问 www.abc.com 这相当于是两个站,会造成权重分散的问题,所以有必要做一下 301 重定向。
什么是重定向?(redirect)
举个例子,https://www.liaosam.com 和 https://go.liaosam.com 是两个独立的网站,一个是料网,一个是料网导航。权重、各项 SEO 指标都是独立的。最重要的是,网站内容都是独立的,熟悉建站的人都知道,二级域名相当于独立的站。如果某天我不想让别人访问料网上的内容,那么我可以让浏览者在试图访问料网时自动被跳转到导航站去,这个过程就是重定向(redirect)。
再举个例子,在料网做 301 重定之前,访问者在浏览器地址栏输入 https://liaosam.com 或 https://www.liaosam.com 都可以访问料网,看到的内容也是一样的,由于访问者的输入习惯不同,可能带 www 也可能不带,但这实际上是两个网站,因为这是主域 和 www 二级域名的问题。
所以,尽管 https://liaosam.com 和 https://www.liaosam.com 都可以访问料网,但这实际会造成权重分散。所以我们要么把访问 liaosam.com 的浏览者自动转向 www.liaosam.com,要么把浏览 www.liaosam.com 的浏览者自动转向 liaosam.com,这个过程叫做重定向。
什么是 301 重定向?什么是 302 跳转?有何区别?
重定向和跳转其实没什么区别,叫法不同,301 重定向同样也可以叫做 301 跳转。301,302 都是 HTTP 状态的编码,都代表着某个 URL 发生了转移,不同之处在于:
- 301 redirect: 301 代表永久性转移 ( Permanently Moved )
- 302 redirect: 302 代表暂时性转移 ( Temporarily Moved )
301 重定向是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的 HTTP 数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。
其它常见的状态码还包括,200 一切正常,404 网页找不到,302 暂时跳转,503 服务不可用等等。
302 重定向是暂时的重定向(跳转),因为服务器返回 302 代码,搜索引擎认为新的网址只是暂时的,所以搜索引擎抓取新的内容的同时,会继续保留之前在数据库中保存的旧的网址。
301 重定向是永久的重定向,搜索引擎在抓取新内容的同时,会将数据库中的旧的网址更新替换,存储重定向之后的新网址。
比如:假如某天料网的外贸导航站关闭了,不急着把 go 的解析记录删除,否则直接返回错误页,很不友好。可以加个重定向(301),把 https://go.liaosam.com 跳转到 https://www.liaosam.com,任何访问 https://go.liaosam.com 的都会转到料网主站。
301,302 对用户来说没有区别,他们看到效果只是一个跳转,浏览器中旧的 url 变成了新的 url,页面转到了这个新的 url 指向的页面。但是对于建站来说,尽量使用 301,不使用 302,因为搜索引擎对于网站的 302 跳转 通常持谨慎的态度。
打个比方:你住在 A 街 1 号楼 101 房,订了牛奶,送牛奶的小哥天天风雨无阻送牛奶给你。
- 有天你告诉他:我换地址了,不在 A 街 1 号楼 101 房住了,我以后就在 A 街 2 号楼 202 长住了,你以后帮我送那儿吧(301 永久重定向);
OK,送奶小哥从第二天起每天送到你的新地址。 - 有天你告诉他:我换了个临时的住址,地址是 B 街 美容店旁边的支巷里的小高层 9 楼 901,这是临时的地址,以后可能还会换到别的地方,再过段时间也许还搬回原来的地方。(302 暂时重定向);
送奶小哥真的有点烦
显然,301 永久重定向给的新的爬取地址更清楚明确,并且告诉蜘蛛旧地址废弃,将权重转移到新地址。而 302 由于是临时重定向,新的地址存在一定的几率 Google 抓取不到。
比如: A 网址很简单很短,它加了个 302 重定向到 B 网址。B 网址是很长的一串字母和数字的 URL 网址,甚至还可能包含一些符号,如问号;一些参数名和参数值等等。很显然,A 短而简单的网址对访问者更加友好,B 网址既难看又长,不方便记忆,不友好。这不是最主要的,最重要的是,由于各种参数或符号,Google 也有一定几率抓取 B 网址失败。
Bluehost 中如何解析域名?
最近在家照顾宝宝,把屎把尿,时间不多,尽量用图来说吧。
1)当你买了 Bluehost 之后,首先看你的域名(前面文章里介绍过买 Bluehost 年付送 1 年域名免费)是否已经 assign 到你的主机账户(host account)
登录 Bluehost 的后台,点击主菜单的 “Domains”(域名)-“assign”(分配),这一步其实即是:到主机商 Bluehost 后台控制面板域名管理板块里,添加网站的域名。如果 bluehost 已经布置好了,这一步可以略过。[ 通常现在 Bluehost 都会自动把你的域名分配好。所以这一步经常是已经自动做了。]
2) 点击主菜单的 “Domains”(域名)-“zone editor”(编辑域)
3) 在 “zone editor”(编辑域)页面中找到 "Add DNS Record",然后添加解析记录。
根据我们上一篇文章所说的,添加两条 A 记录。分别是 www 和 @。
注意:如果发现 Bluehost 已经自动给 www 加了 cname 记录,记得先把 www 的 cname 记录删除,再重新添加 www 的 A 记录。
Host Record 这里直接填写主机记录名(比如解析域名 bbs.abc.com 使得 https://bbs.abc.com 可访问,这里的主机记录名就是 bbs),我们需要添加两次,一次记录名是 www,一次是 @。
Bluehost 默认的 TTL 是 14400,而不是我上一篇文章里截图的 600,因为对于不是更改特别频繁的网站,TTL 大一些可以增加 DNS 中解析记录的缓存时间,但相对来说解析生效的时间会稍微慢一些。这里一般默认 14400 不用修改。当然 TTL 你也可以修改得短一点,但是这里建议不去修改,后面我会再更新一篇文章利用第三方智能 DNS 来管理域名解析。
Type 保持 A 不变, Points To: 这里填写你的 Bluehost 主机的 IP 地址。
如果你添加不了,请检查是否 Bluehost 已在 CNAME 记录中添加了 www 和 @ 的记录。如果是,删除 CNAME 中的 www 和 @ 记录,然后即可在 A 记录中添加。
如上图蓝色框所示,BH 会默认自动给你设置好一些域名,如 localhost,ftp,autoconfig, autodiscover, cpanel 等等。这些都是 BH 提供的可以管理主机的 2 级域名。不用管,我们只用添加好 www 和 @(主域)即可。注意 A 记录的值(points to)都是 IP 地址。
添加 CNAME 记录的话,同理如上。注意,CNAME 的值是另外一个域名而不是 IP 地址。
301 redirect(重定向)如何做
Bluehost 设置 301 重定向非常方便,不需要手动修改 .htaccess 文件。
点击主菜单的 “Domains”(域名)-“redirect”(重定向)
点击之后来到 "redirect" 页面。网页界面如下:
注意上图第二个红色方框处 (www.redirection: ),有 3 个单选项。选择任意一个之后,第一个红色方框的路径就会作相应改变。
选项 1:Only redirect with www
这个是自动把所有的访问 https://www.liaosam.com 转向到某个新地址(这里你不一定要填写转向 https://liaosam.com,也可以是其他别的网站)。如果你想把 访问 www.yourdomain.com 转向 yourdomain.com,就勾选这个选项。不过我还是偏向选项 3。
选项 2:Redirect with or without www
特殊需求的时候选这个。比如,你更换域名了,也需要做 301 跳转。
举个例子,假如某天料网启用新的域名:liao1024.com(犹豫了好久还没注册,哈哈~ 其实这域名很不错,你懂的~ 已注册),把这个新域名作为以后长期使用的域名,这时现有的域名 liaosam.com 也不要立即停止解析,把它做个 301 永久跳转,使得访问 https://www.liaosam.com 或者 https://liaosam.com 的浏览者跳转到 https://www.liao1024.com 。
选项 3:Do Not Redirect www
选择这个是把访问 https://yourdomain.com 转向 www.yourdomain.com。
为什么我选择跳转到带 www 的域名?
还是用图来说吧,一句话,习惯问题。以下是我的 wordpress 后台 wordpress 路径 和 站点地址 的设置,见下图蓝色方框:
可以这样说,上面 301 重定向的 3 个选项选择 选项 1) 还是 选项 3) 主要看你的 wordpress 的站点设置 site address ( url )。我习惯设置带 www 的,我必须把 不带 www 的重定向到 www 来。因为我在 wordpress 设置里 站点地址 就是带 www 的。
相信很多人都习惯填写带 www 的 site address ( url ) ,包括一些 wordpress 教程都是如此:
这其实只是一个习惯问题,还有些人这里是直接写不带 www 的主域的:
如果你 site address 这里没填写 www,那么在 301 redirect 那里选择 选项 1 "Only redirect with www" 即可,Bluehost 会默认把 访问 https://www.abc.com 转到 https://abc.com。
以上就是 Bluehost 域名解析和 301 重定向 的大概流程和介绍,可以看出来 bluehost 的后台功能还是非常方便的。
这里没有详细介绍 Cpanel,其实最常用的功能 Bluehost 都已经放在后台菜单里了,Cpanel 只是功能更加齐全一些。一般菜单可以解决的问题就不用登陆 Cpanel 了,能方便点就尽量操作方便点。
OK,就先写到这里,换尿不湿去了!
本站所有文章除注明“转载”的文章之外,均为原创。未经本站允许,请勿随意转载或用作任何商业用途,否则依法追究侵权者法律责任的权利。
Sam 大神。
一步一步按照你的教程搭建了网站,万分感谢。请问现在我用了 cloudflare 的 cdn,自动添加了一条 www 二级域名的 cname 指向 cnd 的域名?,然后主域名还是用 A 记录,可是当我尝试用 301 重定向主域名到 www 二级域名后,浏览器提示无限循环重定向。
在有 cdn 情况下,我该如何正确配置 dns 和重定向呢,谢谢!
另外,可以试试取消 301 重定向看看无限循环重定向是否可以解决。印象中加了 CDN 后好像主域名会重定向到 WWW 域名的。
@LiaoSam 谢谢 Sam。是的,我查找了教程然后查看了.htaccess 文件确实已经有重定向的设置了(应该是 cdn 或者 siteground 自动加的)。所以如果有设置 cdn 的话不需要另外在 redirects 设置了。。看来学点基础知识是必要的
该评论为私密评论
Sam 哥,
请教下,bluehost 新版本是不是不支持添加其他域名服务商注册的域名了?最近我想在 bluehost 里面添加一个从阿里云注册的域名,但是始终找不到添加的入口,只有添加 bluehost 注册域名的。
盼复,
谢谢!
老师,我把 Namesilo 上注册的域名的解析权交给 siteground 了,后面不知道怎么做了?而且我把解析权给 siteground 时是写的 ns1.us14.siteground.us,ns2.us14.siteground.us 是,但是后来我看 siteground 上是 Account DNS:
ns1.us79.siteground.us 和 ns2.us79.siteground.us,我是写错了吗给解析权的时候?
Sim 老师 麻烦问下 VPS 怎么做 301 呢, 公司新买了域名买了新的 linodeVPS 通过 wordpress 做了新的网址, 之前旧的网站服务器已经停用了但域名还有 3 年, 想将这个域名 301 重定向到现在的新网站上,要怎么操作呢。
该评论为私密评论
sam 老师,我想问下在 linode 上建的网站,是要怎么做 301 跳转呢?我想要将默认的面包屑链接修改成自己建的页面。