本文内容来自csdn上的一篇博文,点进去可直接查看原文。这两天更新的时候发现,每次更新后绑定的域名就失效了,要重新进行绑定,在bing上搜索一番后,找到了这篇博文,本站采用了“情形一”的方式解决了问题。以下是原文:
当你自定义 Github Pages 域名时,是否出现了每次hexo deploy,自定义域名都失效的问题呢?以下分两种情况讨论。
情形1:未添加 CNAME
解决方案:
找到 hexo 博客根目录下的 source 文件夹。注意,不是主题的 source 文件夹。当 hexo 生成静态页面时,根目录下的 source 文件夹中的内容,就会在生成的网页根目录中(你可以在部署到github后,在仓库中查看,此时本地根目录下source文件夹的内容就在仓库的根目下)。
新建一个文件,名为 CNAME ,内容为你的域名(不包括www.或http等等)。如图:
注意:
——- 名为 CNAME,全部大写,没有后缀。
——- 内容只包含一个域名,且不含 www. 或 http 等。
——- 放到根目录下的source文件夹中。
- hexo g -d
执行完毕后登陆github,找到仓库,settings,查看域名是否已经更改,或者直接用域名尝试访问。
情形2:已添加 CNAME
解决方案:
- 首先进入github仓库查看 CNAME是否出现在根目录中,如图所示:
若没有,则请返回第一种情况,认真检查自己的 CNAME 的路径是否正确。
- 若仓库根目录存在 CNAME 文件,请按照以下步骤检查:
——- 情形1步骤2中的注意点,是否都符合要求?
——- 若感觉符合要求!!!请你务必注意你的文件后缀!!!
首先,看你的电脑是不是把后缀自动隐藏了,虽然你命名时,只输入了CNAME,但是它有可能会自动生成一个后缀,且隐藏。假如你用 mac,用文本编辑,命名为CNAME 保存后,有可能会自动加上后缀,但是 mac又很鬼畜的把后缀给隐藏了!!
一定要注意!!保存时留意一下格式。
其次,如果你发现你文件格式不对,不要直接把它的后缀去掉,有可能会出错。
如果这样直接修改,表面上是满足要求了,但仍可能出错。
因为它会认为你的文件已经损坏了,所以你应该重新建好一个 CNAME 无后缀文件,并将其替代。至此问题解决。
新建无后缀文件可以使用touch命令。
使用命令行,cd 到指定目录,然后 touch filename,这样就新建了一个名为filename的无后缀文件。