更换域名之后原来散布在网上的各种链接会统统变成死链,如果就这么鲁莽地开一个新站的话,由于内容与原域名指向的内容重复,非常不利于 SEO。这种全站迁移的情况,不论是百度还是 Google 都建议用 301 永久重定向来告诉搜索引擎:我的内容换地方了!

本文适用情况:迁移站点,但是原域名无法解析到某个服务器端做跳转(比如原域名没有备案,无法解析到国内服务器,然而又不想买国外服务器……)。

几个名词解释

301 重定向

301 Move Permanently 是HTTP协议中的一个状态码(Status Code)。可以简单地理解为该资源已经被永久改变了位置,通常会发送HTTP Location来重定向到正确的新位置。


返回 301 请求码进行跳转被Google认为是将网站地址由 HTTP 迁移到 HTTPS 的最佳方法。

总的来说就是客户端在请求服务器资源时,比如一个 HTML 静态网页,服务器返回一个状态码告诉客户端,这个文件已经不在我这里了,你得去某某地儿找。这种方式对搜索引擎更友好,Google 在爬网页时,遇到了 301 就会自动去新位置索引,并逐渐降低原始链接的展现权重。

301 重定向与添加 CNAME 记录是不同的概念。CNAME 是 DNS 方面的概念,而 301 重定向是 HTTP 协议的概念。最明显的区别在于,301 重定向将改变地址栏的链接,而 CNAME 不会。

某些提供 DNS 解析的服务措辞可能引起歧义。比如 DNSPOD 在添加域名解析时提供「显性URL」,可以实现 301 跳转的效果,跟别的 DNS 解析设置放一起让人有些混淆。但这实际上并不是在搞域名解析服务,DNSPOD 也只是借助自己的服务器做了一个 301 跳转罢了。并且似乎 DNSPOD 的显性 URL 是付费项目,并且不支持通配符。

关于 CloudFlare

Cloudflare以向客户提供网站安全管理、性能优化及相关的技术支持为主要业务。通过基于反向代理的内容传递网络(ContentDeliveryNetwork,CDN)及分布式域名解析服务(DistributedDomainNameServer),Cloudflare可以帮助受保护站点抵御包括拒绝服务攻击(DenialofService)在内的大多数网络攻击,确保该网站长期在线,同时提升网站的性能、访问速度以改善访客体验。

总的来说,提供 CDN 和 DNS 服务,对许多博主来说应该都不陌生了。CloudFlare 的用法蛮多的,比如利用它来给自己的网站套上一层免费 SSL 等等。

设置方法

1、打开 CloudFlare 网站:www.cloudflare.com 。注册,登录。现在已支持简体中文:www.cloudflare.com/zh-cn/

使用CloudFlare来做301跳转 域名无需备案,支持百度收录 教程资料 第1张

2、点击 Add Websites,输入你要处理的域名。注意必须是顶级域名,比如 a.com

使用CloudFlare来做301跳转 域名无需备案,支持百度收录 教程资料 第2张

3、点击 Add Site,CloudFlare 会提示扫描域名的 DNS 记录。

使用CloudFlare来做301跳转 域名无需备案,支持百度收录 教程资料 第3张

4、点击 Next ,提示选择计划,选择第一个免费的(FREE)就可以。

使用CloudFlare来做301跳转 域名无需备案,支持百度收录 教程资料 第4张5、点击 Comfirm Plan 确认,扫描完成后点 Continue。在 DNS 列表检查原域名的 DNS 记录是否都在,如果少的话自己手动添加就可以,然后点 Continue。

使用CloudFlare来做301跳转 域名无需备案,支持百度收录 教程资料 第5张

6、注意这一步很重要,CloudFlare 需要把域名的 DNS 服务器改成它们的。

CloudFlare 的域名服务器为(两条):

f1g1ns1.dnspod.net
f1g1ns2.dnspod.net

在你的域名注册商那里就可以改,改完后点击 Continue,静待域名服务器更改生效。

已阿里云为例:打开域名控制台,点击域名后面的管理——DNS修改——修改DNS服务器,将记录修改成上面两条即可。

如图1显示 Active ,表示添加成功。

7、然后在 DNS 这一栏中查看 DNS 记录。将你要跳转的域名解析到一个有效的 IP,比如 8.8.8.8 。不要解析到国内的服务器 IP,否则依然会提示你没备案。

在这里,我要将 links.w3h5.com 跳转到 www.w3h5.com/links。所以如图设置:

使用CloudFlare来做301跳转 域名无需备案,支持百度收录 教程资料 第6张

8、添加 Page Rules 。

Page Rules 是 CloudFlare 的一项特色服务,可以根据设定的匹配规则来对请求进行处理,其中就包括重定向,支持通配符匹配。

这里举例说明1,如果把 http://links.w3h5.com/xx 和 https://links.w3h5.com/xxxx 统统重定向到 https://www.w3h5.com/links,就应该这样设置:

在 Page Rules 这一栏,点击 Create Page Rule。

第一项填要处理的 URL,这里我填 links.w3h5.com/* 。就是指不论是 HTTP 还是 HTTPS,域名是 links.w3h5.com/*

点击 Add A Setting,选择 Forwarding URL,Status Code 选择 301 。在下面输入要跳转到的 URL。destination这里我输入:https://www.w3h5.com/links 。结果如下:

使用CloudFlare来做301跳转 域名无需备案,支持百度收录 教程资料 第7张

举例说明2如果要把 www.w3h5.com/xxx 或者 www.w3h5.com/xxxx 全指向 w3h5.com/  。destination这里可以输入:https://w3h5.com/$1 。$1 是前面匹配出的字串,按顺序依次编号 $1 ,$2 ……。结果如下:

使用CloudFlare来做301跳转 域名无需备案,支持百度收录 教程资料 第8张

点击 Save and Deploy 就完事了。

注意如果添加多条 Page Rule 要注意前后顺序,CloudFlare 对每次访问只会按顺序执行符合的第一条 Rule。

CloudFlare 的其他用法以后看情况(心情)再介绍吧,祝搞机愉快。