【教程】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 文件夹中,而这个文件夹就会被推送到远程仓库,你可以看到这个文件夹的内容和远程仓库一样的。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 20:08:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 20:08:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 20:08:03       45 阅读
  4. Python语言-面向对象

    2024-07-10 20:08:03       55 阅读

热门阅读

  1. 开源软件项目的崛起:机遇、挑战与个人成长

    2024-07-10 20:08:03       17 阅读
  2. Electron 跨平台桌面应用开发工具

    2024-07-10 20:08:03       18 阅读
  3. 【linux】linux的特殊符号

    2024-07-10 20:08:03       19 阅读
  4. Rust:常见 GUI 框架

    2024-07-10 20:08:03       19 阅读
  5. 【C++ 】中类的成员函数和析构函数的作用

    2024-07-10 20:08:03       16 阅读
  6. HTTP与HTTPS详解及其请求与响应报文的查看方法

    2024-07-10 20:08:03       22 阅读
  7. Postgres 与 MapLibre 实时位置共享

    2024-07-10 20:08:03       15 阅读
  8. NestJs实现各种请求与参数解析

    2024-07-10 20:08:03       22 阅读
  9. AHK的对象和类学习心得

    2024-07-10 20:08:03       16 阅读
  10. Spring中常见知识点及使用

    2024-07-10 20:08:03       23 阅读