Github更换域名每次部署后失效解决方案

求人不如求己啊

  今天在阿里云买了个新域名,DNS解析完去github设置,至此一切正常。但在新一次部署之后页面404了。github仍然显示着已被更换的新域名,说明前面的设置应该没有问题。
  本着重启就好的思路,重新设置了一遍github pages,好了,以为问题解决。没想到接下来崩溃地发现每次hexo d之后域名都会失效。面对不断的404,新手懵逼,疯狂百度。

  网上常见的解决方法是:

方法 1

在source目录下添加一个无后缀,全程为全大写的CNAME文件,并在文件内写入有且只有你的域名。

  照着来,并check了github仓库该CNAME文件已被放在正确的位置。
  hexo deploy,再次404。
  :)

方法 2

  然后我看有人说,DNS解析只配置CNAME到原来的github.io和一个本地IP是不够的,他让我添加4个解析记录:
181.199.108.153 181.199.109.153 181.199.110.153 181.199.111.153
  虽然我一度怀疑是否有必要把4个IP都写出来,因为根据他们介绍的原理,4个里写一个就可以了,但经过几次cmd里ping博客的本地地址,发现确实会变化。这人是照着官方pages做的,我看了看原版,虽然看得我云山雾罩甚至觉得大可不必,但嗯,是我大言不惭吧应该。
  虽然这一步可能是必要的,但只有这一步并未改变每次部署完新域名都会失效的问题。然后我看到了这个说法:

方法 3

安装插件:
npm install hexo-genarator-cname --save
然后在站点配置文件中添加:
Plugins: -hexo-generator-cname
  到了这儿如果跟第一种添加CNAME文件冲突了,那就把这个插件再卸载掉:
npm uninstall hexo-generator-cname --save

这样就会神奇地发现第一种方法可以用了!

  :)
  笑死。我只能说毫无用处。

竟然以为搞定了,笑死

最终

  现在是我试图解决这个问题的第22个小时。昨天晚上睡觉前发现,每一次新域名失效后,github pages setting中的用户自定义域名都会被改成另一个.com地址。此外,查看每一次部署后public文件夹内的CNAME文件也都显示该.com地址,说明我每次hexo deploy,source里的CNAME都会被抹去换成该.com。只能是某个更高级别的设置里写了这个地址。
  忙完其他琐事,坐下来,将站点_config.yml里的url改成了新域名。
  然后:
hexo clean
hexo g&&hexo d

  好像ok了。