You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署React应用后GitHub自定义域名自动恢复默认问题求助

解决GitHub Pages部署React应用后自定义域名丢失的问题

我之前碰到过完全一样的情况,每次部署完自定义域名就被打回默认的anton415.github.io,折腾了好一会儿才找到根因——问题出在部署时没有保留GitHub Pages识别自定义域名所需的CNAME文件,和create-react-app本身关系不大,主要是部署流程的小疏漏。

下面是一步步的解决办法:

1. 在项目中添加持久化的CNAME文件

GitHub Pages是通过部署分支里的CNAME文件来记住你的自定义域名的。如果每次部署都覆盖了分支内容却没带上这个文件,GitHub就会自动重置回默认域名。

  • 在你的React项目的public文件夹下,新建一个名为CNAME的文件(注意没有后缀名)
  • 打开这个文件,只写入你的自定义域名:
    serdyuchenko.com
    
    (不要加https://或者任何路径,就纯域名)

这样一来,当你运行npm run build时,create-react-app会自动把这个CNAME文件复制到build文件夹里,后续部署时就会被同步到目标分支。

2. 确认部署脚本与GitHub Pages设置匹配

你的部署脚本是"deploy": "gh-pages -b master -d build",这里要确保:

  • 你在GitHub仓库的「Settings → Pages」里,设置的部署分支是master(如果仓库默认分支是main,就把脚本里的-b master改成-b main)
  • 如果之前你创建了gh-pages分支但实际没用它来部署,完全可以删掉,避免分支混淆

3. 重新部署测试

运行以下命令重新部署:

npm run build
npm run deploy

部署完成后,去GitHub Pages设置里看一眼,自定义域名应该已经自动被填充为serdyuchenko.com了,而且后续再部署也不会丢失——因为CNAME文件会一直跟着build产物被同步上去。

另外补充一下:你已经在package.json里加了"homepage": "https://serdyuchenko.com/",这个设置是对的,它会确保React生成的静态资源路径都是基于你的自定义域名,不会出现资源加载错误的问题,不用改动。

内容的提问来源于stack exchange,提问作者Anton Serdyuchenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:40:14