商汇粹外网资源平台

搜索
查看: 2698|回复: 5

Github Pages可以绑定多个域名吗?

[复制链接]

该用户从未签到

1

主题

3

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2022-10-28 09:14:32 | 显示全部楼层 |阅读模式
是这样的,用Jekyll倒腾一个简易的博客,先是到万网买了一个域名http://A.com,已经可以正常解析使用了。但是不久后又发现了另一个比较好的域名http://B.com,那么问题来了,我有2个域名,但是只有一个Github Pages,所以能让这2个域名都解析到我的Github Pages吗?
回复

使用道具 举报

该用户从未签到

0

主题

14

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2022-10-28 09:36:12 | 显示全部楼层
我猜不可以,使用自己的域名的时候,是需要在repo里面放一个写有域名的文件的。github需要这个文件来帮你转接。
你去Github查查,如果Github可以从这个文件中解析出多个域名,说不定你就可以绑定多个域名呢。
回复

使用道具 举报

该用户从未签到

3

主题

8

帖子

30

积分

新手上路

Rank: 1

积分
30
发表于 2022-10-28 09:57:52 | 显示全部楼层
答案肯定是可以的。github什么都不动的情况下,你把B域名添加cname解析到A域名都可以。
回复

使用道具 举报

该用户从未签到

1

主题

5

帖子

27

积分

新手上路

Rank: 1

积分
27
发表于 2022-10-28 10:19:32 | 显示全部楼层
可以建2个repo,其中一个设置绑定A域名,index.html加上redirect相关的代码,实现跳转。另一个就是原先的主网站。repo的CNAME分别绑定各自域名。
回复

使用道具 举报

该用户从未签到

1

主题

33

帖子

131

积分

注册会员

Rank: 2

积分
131
发表于 2022-10-28 10:41:12 | 显示全部楼层
当然是可以的啦!

效果可访问https://www.yanbinghu.com 和http://www.huyanbing.me
有三种方法可以操作,这里只列出了其中一种,更多方法可以访问多个域名映射同一个github pages
新增项目重定向

假如你已经有http://username.github.io项目,新建一个名为blog(名字自定义)的项目,在项目的setting中,开启github pages服务,并且将旧的域名映射到http://username.github.io。
实际上,github pages并不是只能有一个,例如,你新创建的仓库访问地址为:http://username.github.io/blog。
由于旧的域名映射会导致404错误,那么在我们的新项目中增加一个404.html,在页面中进行跳转即可:
<!DOCTYPE html><html><head><meta charset="utf-8"><title></title></head> <script language="javascript">var domain = "换成你自己的新域名";var src = window.location.href;var prtc = src.substring(0, src.indexOf(':'));var target = src.substring(src.indexOf('/', src.indexOf(':') + 3));window.location.href = prtc + "://" + domain + target;location.href=prtc + "://" + domain + target;</script><body> <h1></h1></body></html>
另外,需要利用google的地址更改功能,使得旧网址的权重往新网址转移。
找到search console中的地址更改工具(设置按钮中找到)。
除了增加404页面外,还需要增加CNAME文件,里面的内容是你原先的域名。
总结

由于我的hexo博客部署在github上,因此按照这种方法操作,目前访问www.huyanbing.me将会重定向到www.yanbinghu.com的对应地址。
更多详情可访问多个域名映射同一个github pages
微信公众号【编程珠玑】:专注但不限于分享计算机编程基础,Linux,C语言,C++,数据结构与算法,工具,资源等编程相关[原创]技术文章
回复

使用道具 举报

该用户从未签到

1

主题

25

帖子

79

积分

注册会员

Rank: 2

积分
79
发表于 2022-10-28 11:02:52 | 显示全部楼层
GitHub 官方的意思是“一个repo只能绑定一个域名”


并且repo下根目录中的CNAME文件可以填写“根域名+www子域名”,“根域名”或者“任意子域名”
当填写“根域名+www子域名”时,example.com 和 www.example.com 都能访问
除此之外,没有“一个repo通过两个域名访问”的办法


所以你想实现“绑定多个域名”,通过官方渠道是行不通的
可以 fork 一个到其它账户,然后绑定另一个域名


如果担心 SEO 受损,可以新建如下文件,来跳转到新的域名
/index.html
<meta http-equiv="refresh" content="0;url=https://example.com">
/404.html
---permalink: /404.html---<meta http-equiv="refresh" content="0;url=https://example.com">
以上
<hr>回答者: 知乎@方舟 Minecraft玩家|「醉后不知天在水,满船清梦压星河。」
希望大家能友善对待不同的观点,不要滥用举报功能。如果你觉得我的回答可能帮助到了你,那么请点赞支持一下,让更多的人看的它;如有不足之处,欢迎给✈我的Telegram发消息来指正!✈我的微博
✈「知乎回答申明」
✈「微信支付✅」二维码
✈「PayPal」支付链接
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表