帮助
用自己的域名访问博客
多数人会把买来的 一级域名 直接当网站地址,例如用 example.com 打开站点 A、用 another.com 打开站点 B。 二级(blog.example.com)和多级也可以,在设置里填访客实际打开的那个名字。
① 先告诉 GitPress 新地址
网页里的链接、图片、样式路径是编译时写进去的。你用 example.com 打开站点,就要在设置里填这个地址(二级、多级同理,填访客实际打开的那个名字)。 只改 DNS、不填这里:页面也许能打开,图片和 CSS 还会指向旧的 github.io。
② 域名加在托管商那边
编译好的网页在公开的 网站仓库里(不是带
-data 的那个)。接到哪家静态托管,就去哪家控制台添加域名。 GitPress 不会替你管 Cloudflare / Vercel 的解析。点下面的按钮看对应步骤。先想好用哪一级
推荐一级;二级、多级只是多几个前缀,步骤相同。
| 你想用的地址 | 怎么叫 | 设置里填 |
|---|---|---|
| example.com | 一级域名(推荐)买来直接当网站地址 | example.com |
| blog.example.com | 二级域名在一级前面加一段,www 也算 | blog.example.com |
| docs.blog.example.com | 多级域名再往前加前缀,用法相同 | docs.blog.example.com |
多个站点,各自用各自的一级域名
站点 A 用
example.com,站点 B 用 another.com。挂在 GitHub Pages 上时,两条解析的「值」可以完全一样(都指到 Pages)。 GitHub 看的是这个名字登记在哪一个网站仓库,不是靠仓库名写进 DNS。不要把仓库名写进解析记录。选一种托管,看对应步骤
同一个域名不要同时指到两家。
继续用建站时默认的 GitHub Pages。GitPress 可以帮你向 GitHub 登记域名。
- 后台 → 设置 → 访问地址,点 GitHub Pages,填访客地址(多数人填
example.com),保存。 - 到域名解析商按表格加记录。一级域名和二级、多级写法不一样。
一级域名(推荐)
主机记录填 @。多数解析商不允许给一级域名做 CNAME,要用 A / AAAA 指到 GitHub Pages:
| 类型 | 主机记录 | 值 |
|---|---|---|
| A | @ | 185.199.108.153 |
| A | @ | 185.199.109.153 |
| A | @ | 185.199.110.153 |
| A | @ | 185.199.111.153 |
| AAAA | @ | 2606:50c0:8000::153 |
| AAAA | @ | 2606:50c0:8001::153 |
| AAAA | @ | 2606:50c0:8002::153 |
| AAAA | @ | 2606:50c0:8003::153 |
二级、多级域名
一条 CNAME 即可。主机记录填「一级域名前面的那些前缀」,值填 <github用户名>.github.io,不要带仓库名。
| 类型 | 主机记录 | 值 |
|---|---|---|
| CNAME | blog | <github用户名>.github.io |
| CNAME | www | <github用户名>.github.io |
| CNAME | docs.blog | <github用户名>.github.io |
对应 blog.example.com、www.example.com、docs.blog.example.com。自查: dig +short CNAME blog.example.com
Cloudflare 必须灰云
若解析开在 Cloudflare,指向 Pages 的记录必须 DNS only(灰云)。开橙色代理时 GitHub 签不了证书。
常见坑
只改了 DNS,没改访客地址
页面能打开,但资源仍指向
/仓库名/...。回到设置填域名并保存,等这次构建跑完。一级域名写成了 CNAME
多数解析商不允许给
@ 做 CNAME。一级域名用 A / AAAA;二级、多级才用 CNAME。Pages 和另一家抢同一个名字
先在设置里取消 Pages 登记,再在 Vercel / Cloudflare 添加。两个 GitPress 站点也不要登记同一个域名。
DNS 已经指对,站点还是 404
多半是这次重建还没跑完。去数据仓库的 Actions 看 GitPress Build 是否成功。