配置
- 使用 github pages,要将项目名命名成这样,以用户名 uncleAndyChen 为例:
uncleAndyChen.github.io
,这样,就可以直接用项目名访问个人博客了:http://uncleAndyChen.github.io
请注意,自定义域名生效之后,该方式会失效,也就是说,配置好自定义域名且生效之后,就只能通过配置的域名访问。
以绑定已经备案过的域名
taobantech.com
为例,在配置页面配置好之后,会有如下提示:1
Your site's DNS settings are using a custom subdomain, taobantech.com, that's not set up with a correct CNAME record. We recommend you set this CNAME record to point at [YOUR USERNAME].github.io. For more information, see https://help.github.com/articles/setting-up-a-custom-domain-with-github-pages/.
- 到域名管理页面,添加 CNAME 解析记录,指向自己的 Github Pages 域名,例如
uncleAndyChen.github.io
,域名指向生效之后,域名绑定就完成了。
经验
- 首先被绑定的域名需要已经备案,为了备案,需要先找一家网站托管商,比如我用的是阿里云的云服务器 ECS。如果云服务器到期,可以考虑将个人博客转至 githu pages,免费还相对稳定,更新也比较简单。
blog 更新
- gitee 上的 hexo blog,之前需要在本地 hexo g(编译)之后,再 hexo d(发布)至某一个分支,pages 设置的时候选这个分支即可。前两天我重新配置的时候,发现官方已经直接支持 hexo blog 了,md(markdown)文档 push 之后,会自动触发在线编译,这样,在本地就少了两步操作,即 hexo g(编译)之后,再 hexo d(发布至某一个分支)。
github 暂时还没有发现在线编译功能,我的做法是,把 md 文档托管到 gitee(可以 private,也可以 public,而 github 的 private 项目需要收费),然后,本地 hexo g 之后生成的目录,即 public 目录作为 github 的 blog 项目,需要更新的时候,直接按如下操作即可:
- 在源代码(众多 markdown 文档)目录,执行
hexo g
到编译生成的 public 目录,在 git 客户端执依次行
1
2
3git add .
git commit -m 'update blog ...'
git push可将以下脚本存为 .sh 文件,需要更新的时候,双击执行即可。没错,就是在 windows 下,我的系统是 win10,双击之后,弹出来的窗口,就是 git Bash 窗口。
1
2
3
4
5
6cd ..
hexo g
cd public
git add .
git commit -m 'update blog ...'
git push
- 在源代码(众多 markdown 文档)目录,执行

域名的【主机记录】要不要配置 www?

- 一般我们的域名配置,要配置两个,一个【主机记录】是 www,另外一个是【@】,以我的域名
taobantech.com
为例,这样配置对应的网站地址分别是:www.taobantech.com
和taobantech.com
,这样做是为了照顾不同人群的习惯,有一部分人群记住域名之后,访问时一般要先输入 www,实际上,以 www 开头是一个二级域名,其实可以配置成不以 www 开头即可访问,比如我访问百度的习惯就是直接输入baidu.com
。至于在浏览器地址栏输入
baidu.com
回车之后,会自动跳转至www.baidu.com
,这个可以在服务器上配置,一般的 web 服务器(比如 nginx)都支持。 - 那么,为了照顾不同人群的不同习惯,我的 github pages 也想配置带 www 和不带 www 的自定义域名。但是,结果是不支持。通过 github pages 配置了
taobantech.com
,我再配置一个 www.taobantech.com 时,会得到如下错误:
参考:Troubleshooting custom domains -> CNAME already taken
- github pages 只能配置一个顶级域名
- 如果配置了
taobantech.com
,就不能再配置www.taobantech.com
- 同样的,配置了
www.taobantech.com
,就不能再配置taobantech.com
- 如果配置了
终极解决方案
这里我们一共要配置两个域名,一个是顶级域名,一个是 www 开头的二级域名。假设已经在 github pages 配置好了二级域名:www.taobantech.com
。
添加顶级域名(主机记录不填或者填@
即为顶级域名)的【CNAME】或【302重定向】记录,将【记录值】设置成二级域名:www.taobantech.com
。来解决 www.taobantech.com
不能正确指向的问题。
用该方法还可以随意定义二级域名来指向同一个博客网站。
阿里云域名管理
可添加【CNAME】或【302重定向】解析,这里以【302重定向】为例。
京东云域名管理
只能用【CNAME】解析。在域名解析方面,京东云没有阿里云的选项多,解析选项里,是没有 【302重定向】的。
其实,用 【CNAME】跟用【302重定向】的效果是一样的,都是重定向,只是重定向的方式不一样而已,这两种方式对用户而言是没有什么区别的,有区别的,应该是搜索引擎。