如何在HTML中实现URL重定向 旧域名跳转新域名操作指南
GitHub Pages旧域名重定向到新域名实现方案
以下两种方案都不需要服务器管理权限,仅靠GitHub Pages自带能力即可实现需求。
方案1:HTML+JS双重重定向(兼容性最好)
该方案适配所有GitHub Pages托管场景,不存在兼容问题:
- 打开旧域名绑定的GitHub Pages仓库,在根目录新建/覆盖
index.html文件,内容如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="refresh" content="0; url=https://www.example.com"> <link rel="canonical" href="https://www.example.com"> <script> // 兜底跳转逻辑,适配老旧浏览器 window.location.href = "https://www.example.com" + window.location.pathname + window.location.search; </script> </head> <body> <p>站点已迁移,若未自动跳转请点击<a href="https://www.example.com">这里</a></p> </body> </html>
- 把代码中所有
https://www.example.com替换为你的新域名 - 若要覆盖所有子路径的跳转,可在根目录额外新增一个内容完全一致的
404.html文件 - 提交代码到仓库即可生效
方案2:使用GitHub Pages原生_redirects配置(SEO最友好)
该方案可以返回标准301永久重定向状态码,更利于搜索引擎权重转移:
- 在旧域名绑定的GitHub Pages仓库根目录新建无后缀的
_redirects文件 - 文件内写入如下规则:
/* https://www.example.com/:splat 301!
- 把规则中的
https://www.example.com替换为你的新域名,提交到仓库即可生效 - 规则说明:
/*匹配旧域名下所有访问路径,:splat会自动把旧路径的参数原样拼接到新域名后,301!代表强制返回301重定向状态码
必要前置检查
- 旧域名的DNS解析仍需保持指向GitHub Pages官方IP/CNAME,确保用户访问旧域名时能请求到GitHub Pages的内容
- 旧GitHub Pages仓库的自定义域名配置不要删除,需保持绑定旧域名
- 重定向配置生效后建议至少保留6个月以上,待搜索引擎完全收录新域名内容后再考虑下线旧站点
内容的提问来源于stack exchange,提问作者ABBAS A M
相关产品推荐
相关产品推荐

