【教程】Hexo 部署到 Github Page 后,自定义域名失效的问题

目录

前言&问题描述

近期给 Github Page 上托管的静态网站映射了自定义域名(aiproducthome.top),之后发现每次更新并部署 hexo 到 Github Page (hexo d)后就会出现自定义域名失效的问题。

原因也非常简单,当你在 Github Page 上映射了域名后,Github Page 会在你的仓库下自动生成一个 CNAME 文件(如果你的 Github Page 是在其他分支,则是在其他分支下生成 CNAME 文件)。

举例来说,我的 Github Page 部署在 gh-pages 分支下,所以可见该分支下由 Github Page 服务生成了一个 CNAME 文件,该文件的内容是你的自定义 apex 顶级域名

但是由于我们本地并没有这个 CNAME 文件,所以每次部署的时候就会把这个远端的 CNAME 给覆盖掉,所以导致了失效。

解决方案

在根目录下的 source 文件中添加 CNAME 文件,并在文件中输入你的 apex 域名(没有前缀的域名,如 aiproducthome.top),最后保存。

然后重新部署并提交至 Github 仓库即可。

细节

当我们执行 hexo g 时,实际上是把资源文件(如 source,extend ... 文件夹内容)都复制到了一个叫做 public 的文件夹中,当我们执行 hexo d 时,实际上是把 publicextend 文件夹的内容又都复制到 .deploy_git 文件夹中,而这个文件夹就会被推送到远程仓库,你可以看到这个文件夹的内容和远程仓库一样的。

相关推荐
一张假钞3 天前
Hexo Next主题集成百度统计
hexo·next
丸丸丸子w20 天前
Hexo博客在多个设备同步
hexo·个人博客
Huazie1 个月前
来花个几分钟,轻松掌握 Hexo Diversity 主题配置内容
前端·javascript·hexo
Huazie2 个月前
一篇搞定 Hexo Diversity 主题接入!支持多主题自由切换!
javascript·github·hexo
dzq1982 个月前
Hexo提交部署命令与Git Bash Here控制终端中按下Ctrl+C无法中断hexo s的解决办法
运维·git·hexo·部署博客·hexo s·ctrl+c·源码推送
Gzzz__6 个月前
百度、谷歌、必应收录个人博客网站
博客·hexo·butterfly
北桥苏7 个月前
Hexo最新实战:(一)Hexo7.0+GitHub Pages博客搭建
github·hexo·github pages
咸鱼运维杂谈8 个月前
hexo 博客插入本地图片时遇到的坑
linux·运维·hexo
xiezhr8 个月前
小伙伴说VuePress太简洁了,还有没有其他博客推荐?
博客·hexo·个人网站