github page+hexo 绑定域名后页面显示404

文章首发于 我的博客

我用的站点生成框架是 Hexo。
想为自己的github page 绑定一个自己的域名,在阿里云申请了一个域名,在github page项目的setting 页面,绑定了自己的域名,过了一会儿发现可以访问了。
github page+hexo 绑定域名后页面显示404_第1张图片

在部署上传新的文章后,访问变成了404
github page+hexo 绑定域名后页面显示404_第2张图片

于是排查问题,发现setting页面绑定域名的那一栏忽然变成了空,然后发现github page项目上根目录下的CNAME文件被删了。
github page+hexo 绑定域名后页面显示404_第3张图片
github page+hexo 绑定域名后页面显示404_第4张图片
CNAME文件是github page 绑定域名需要添加的文件,在setting页面上设置会自动生成该文件。
于是查了下hexo的部署,发现当执行

hexo d

Hexo 会将 public 目录中的文件和目录推送至 _config.yml 中指定的远端仓库和分支中,并且完全覆盖该分支下的已有内容。
也就是说因为public 文件下没有CNAME文件,所以推送的时候远程分支的内容因为被完全覆盖所以CNAME文件也会被删除,所以就会导致404。
github page+hexo 绑定域名后页面显示404_第5张图片
而public下的文件是由source文件夹的内容生成的,因此正确的配置绑定域名方法应该是在source文件下(直接在public文件夹下也可以)新建CNAME文件并配置域名。
github page+hexo 绑定域名后页面显示404_第6张图片

再次用hexo d 部署发现问题解决。

你可能感兴趣的:(解决的问题)