说明
这篇文章的目的就是将coding.me上的和github.io的个人博客和自己注册的域名关联起来,并且实现国内的用户访问域名的时候定向到 coding.me,国际的用户访问的时候,定向到github.io。
前期准备
- 有自己的github.io博客,参考”Hexo学习1-用hexo创建博客并发布到github pages“,假设为zs.github.io
- 有自己的coding.me博客,参考”Hexo学习2-利用hexo将博客同时推送到coding pages和github pages“, 假设为zs.coding.me
- 注册了自己的域名,我用的是godaddy 上注册的,假设为zs.com
- 在dnspod上注册账号, 用于解析域名
域名解析的相关概念
域名解析的示意图如下图:
由图可见,在解析前github对应自己的ip,coding对应自己的ip,而且没有和自己的域名相互关联,两者是相互独立的。 域名解析有两种方式:A记录和CNAME。A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。CNAME记录,即名记录。这种记录允许您将多个名字映射到另外一个域名。 解析以后如下图
相应的配置截图如下:
如下几点说明:
- 主机记录中为@,表示zs.com指向另外的域名或者ip,如果为www则表示www.zs.com(为zs.com二级域名)指向另外的域名或者ip。同样可以设置为blog.zs.com
- 图中5是把自己的站点提交给百度搜索用的,和本文没有关系,参考此处
- CNAME的解析的优先级要比A记录的解析要高。
- 其中3和4是系统自带的不用管
- 8中的ip参考github的官网
关于域名解析的概念性的文章,我推荐:GitHub Pages 绑定来自阿里云的域名
域名解析的具体步骤
我参考的是”Hexo同时部署在Coding和GitHub上并使用DNSPod分流“,不做赘述。
最后需要绑定下,进入coding的pages里绑定域名为zs.com。这样不管输入zs.coding.me还是zs.github.io都会跳转到zs.com
测试是否分流成功
在这个网站进去查询,输入域名和类型CNAME,得到如下的结果
可见国内分流成功,国外的分流查询可以通过”DNS查询“查询得到