解决 Hexo 部署 Github Pages 自定义域名失效的问题(即使已添加 CNAME)

Hexo 部署到 Github Pages 自定义域名失效解决方案

欢迎来我的博客查看原文。

当你自定义 Github Pages 域名时,是否出现了每次hexo deploy,自定义域名都失效的问题呢?以下分两种情况讨论。


情形1:未添加 CNAME

解决方案:

  1. 找到 hexo 博客根目录下的 source 文件夹。注意,不是主题的 source 文件夹。当 hexo 生成静态页面时,根目录下的 source 文件夹中的内容,就会在生成的网页根目录中(你可以在部署到github后,在仓库中查看,此时本地根目录下source文件夹的内容就在仓库的根目下)。
    解决 Hexo 部署 Github Pages 自定义域名失效的问题(即使已添加 CNAME)

  2. 新建一个文件,名为 CNAME ,内容为你的域名(不包括www.或http等等)。如图:
    解决 Hexo 部署 Github Pages 自定义域名失效的问题(即使已添加 CNAME)
    注意:
    ------- 名为 CNAME,全部大写,没有后缀。
    ------- 内容只包含一个域名,且不含 www. 或 http 等。
    ------- 放到根目录下的source文件夹中。

  3. hexo g -d

执行完毕后登陆github,找到仓库,settings,查看域名是否已经更改,或者直接用域名尝试访问。解决 Hexo 部署 Github Pages 自定义域名失效的问题(即使已添加 CNAME)


情形2:已添加 CNAME

解决方案:

  1. 首先进入github仓库查看 CNAME是否出现在根目录中,如图所示:
    解决 Hexo 部署 Github Pages 自定义域名失效的问题(即使已添加 CNAME)
    若没有,则请返回第一种情况,认真检查自己的 CNAME 的路径是否正确。

2.若仓库根目录存在 CNAME 文件,请按照以下步骤检查:
------- 情形1步骤2中的注意点,是否都符合要求?
------- 若感觉符合要求!!!请你务必注意你的文件后缀!!!

首先看你的电脑是不是把后缀自动隐藏了,虽然你命名时,只输入了CNAME,但是它有可能会自动生成一个后缀,且隐藏。假如你用 mac,用文本编辑,命名为CNAME 保存后,有可能会自动加上后缀,但是 mac又很鬼畜的把后缀给隐藏了!!解决 Hexo 部署 Github Pages 自定义域名失效的问题(即使已添加 CNAME)
一定要注意!!保存时留意一下格式。

其次,如果你发现你文件格式不对,不要直接把它的后缀去掉,有可能会出错。
解决 Hexo 部署 Github Pages 自定义域名失效的问题(即使已添加 CNAME)
如果这样直接修改,表面上是满足要求了,但仍可能出错。
解决 Hexo 部署 Github Pages 自定义域名失效的问题(即使已添加 CNAME)
因为它会认为你的文件已经损坏了,所以你应该重新建好一个 CNAME 无后缀文件,并将其替代。至此问题解决。


以上基本是我遇到的问题和解决方法,尤其是最后这个隐藏后缀以及直接删除后缀,困扰了我好几个小时。希望能给像我一样的新人一点帮助!

欢迎来踩我的博客!!