下面一起来看一个Github托管 Pages 自定义域名的方法,希望此示例可以帮助到大家哦.
创建 CNAME 文件#
首先,在库的 gh-pages 分支根目录下创建 CNAME 文件,写入:
www.phpfensi.com
注意以下几点:
CNAME 文件名大写,域名前不需要添加 http 这样的协议,这里使用 www 子域名而不是顶级的 phpfensi.com,Github 推荐使用子域名.
如果域名 ‘phpfensi.com ’ 同样指向这个库的话,Github Pages 会自动将其重定向到 ‘www.phpfensi.com ’ 上.
添加 CNAME 记录#:
DNS 中添加一条 CNAME 记录,将 www 指向 chenxsan.github.io,之后检查 DNS 设置的情况:
$ dig www.phpfensi.com +nostats +nocomments +nocmd
; <<>> DiG 9.9.5-rpz2+rl.14038.05-P1 <<>> www.phpfensi.com +nostats +nocomments +nocmd
;; global options: +cmd
;www.phpfensi.com . IN A
www.phpfensi.com . 3599 IN CNAME chenxsan.github.io.
chenxsan.github.io. 3599 IN CNAME github.map.fastly.net.
github.map.fastly.net. 14 IN A 103.245.222.133
一切正常.
添加 A 记录#
上面的 CNAME 记录只是将 www.phpfensi.com 指向 Github 服务器,此时访问 phpfensi.com 域名,会返回 404 错误,所以还需要在 DNS 中添加两条 A 记录指向 Github Pages 的两个 IP,更好的办法是添加 ALIAS,但 Google Domains 并不支持:
192.30.252.153
192.30.252.154
再使用 dig 命令检查 DNS 状况:
$ dig phpfensi.net
; <<>> DiG 9.9.5-rpz2+rl.14038.05-P1 <<>> phpfensi.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56008
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;phpfensi.com . IN A
;; ANSWER SECTION:
phpfensi.com . 3599 IN A 192.30.252.153
phpfenis.com . 3599 IN A 192.30.252.154
;; Query time: 588 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Nov 14 22:27:00 CST 2014
;; MSG SIZE rcvd: 73
这时再访问 phpfensi.com 域名,已经能正常打开,并且因为第一步中的设置,Github 会帮我们重定向到 www 上.
大型站长资讯类网站!