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

情形1:未添加 CNAME

解决方案:

  1. 找到 hexo 博客根目录下的 source 文件夹。注意,不是主题的 source 文件夹。当 hexo 生成静态页面时,根目录下的 source 文件夹中的内容,就会在生成的网页根目录中(你可以在部署到github后,在仓库中查看,此时本地根目录下source文件夹的内容就在仓库的根目下)。
    在这里插入图片描述

  2. 新建一个文件,名为 CNAME ,内容为你的域名(不包括www.或http等等)。如图:
    在这里插入图片描述
    注意:
    ——- 名为 CNAME,全部大写,没有后缀。
    ——- 内容只包含一个域名,且不含 www. 或 http 等。
    ——- 放到根目录下的source文件夹中。

  3. hexo g -d

    执行完毕后登陆github,找到仓库,settings,查看域名是否已经更改,或者直接用域名尝试访问。在这里插入图片描述

情形2:已添加 CNAME

解决方案:

  1. 首先进入github仓库查看 CNAME是否出现在根目录中,如图所示:
    在这里插入图片描述
    若没有,则请返回第一种情况,认真检查自己的 CNAME 的路径是否正确。

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

首先看你的电脑是不是把后缀自动隐藏了,虽然你命名时,只输入了CNAME,但是它有可能会自动生成一个后缀,且隐藏。假如你用 mac,用文本编辑,命名为CNAME 保存后,有可能会自动加上后缀,但是 mac又很鬼畜的把后缀给隐藏了!!在这里插入图片描述
一定要注意!!保存时留意一下格式。

其次,如果你发现你文件格式不对,不要直接把它的后缀去掉,有可能会出错。
在这里插入图片描述
如果这样直接修改,表面上是满足要求了,但仍可能出错。
在这里插入图片描述
因为它会认为你的文件已经损坏了,所以你应该重新建好一个 CNAME 无后缀文件,并将其替代。至此问题解决。


写在最后:

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

这是我的邮箱,欢迎交流学习。