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

文章首发于 我的博客

我用的站点生成框架是 Hexo。
想为自己的github page 绑定一个自己的域名,在阿里云申请了一个域名,在github page项目的setting 页面,绑定了自己的域名,过了一会儿发现可以访问了。
绑定域名设置

在部署上传新的文章后,访问变成了404
404

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

hexo d

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

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

发布了12 篇原创文章 · 获赞 0 · 访问量 1045

猜你喜欢

转载自blog.csdn.net/Belingda/article/details/100635572