将 Github Pages 重定向到自定义域名

12

我已经创建了一个Github Pages网站,并将其放在名为xyz的github账户的仓库abc中。 因此,我的网站现在可以在xyz.github.io/abc上访问。 我创建了一个cname文件,并使用Github pages中提供的设置配置了我的DNS。 现在,我的网站也可以在mycustomdomain.com上访问。 但现在,我不希望我的网站在xyz.github.io/abc上在线。我想要它重定向到mycustomdomain.com或无法访问。 有什么办法可以做到这一点吗? 我知道我可以创建用户Pages网站(使用username.github.io),它会自动重定向到自定义域,但我想创建项目网站。 有什么建议吗?


我想重定向到我的自定义域名的原因是,我认为两个具有相同内容的网站可能对搜索引擎优化不利。 - manish
对于CNAME相关的解决方案,请注意https://mat-discover.readthedocs.io/en/latest/会导致格式错误,而https://mat-discover.readthedocs.io/en/latest则不会(即省略最后一个斜杠/)。 - Sterling
4个回答

16

使用CNAME解决方案:

可以的。Github有一个很好的功能可以实现这个目的。
当你在仓库里创建CNAME文件夹时,你将被重定向到:https://help.github.com/articles/adding-a-cname-file-to-your-repository/

请访问我的Github Pages网站:https://github.com/ondrek/ondrek.github.io
(你可以访问ondrek.com,但是无法访问ondrek.github.io


使用JS解决方案:

如果您想要重定向到自定义页面,唯一可能的解决方案是JavaScript重定向。

if (window.location.href==="https://xyz.github.io") {
    window.location.href = "https://mycustomdomain.com"; 
}

但这并不能解决您在Google上的问题。您可以通过正确使用Google网站管理员工具来解决此问题,并告知Google有关重复内容(出于SEO目的)。


CNAME解决方案只有在您开始新网站时才有用。 - djhworld
4
网站链接失效了 :/ - inavda
非常感谢!你救了我的网站!我基于你的答案在这里发布了自己的答案,但我也给你点了赞。 - Antônio Medeiros

12
我曾有一个GitHub Pages网站(https://kamarada.github.io/),我将其迁移到了GitLab(https://kamarada.gitlab.io/)。除此之外,我在GitLab上设置了一个自定义域名(https://linuxkamarada.com/)。现在的问题是:如何从GitHub Pages进行301重定向到自定义域名?这有可能吗?
好吧,就像Ciro Santilli在另一个问题上回答的那样,没有“漂亮的非插件解决方案”。事实上,我找到的解决方案并不美丽,更像是一个变通办法,但它有效。
Samuel Ondrek在同一个问题上的答案启发(非常感谢!),我设置了CNAME重定向。
进入您的GitHub Pages存储库,单击“Settings”,然后在“GitHub Pages”下,在“Custom domain”下输入您的自定义域名,然后单击“Save”。
现在在您的浏览器中打开另一个选项卡,打开DevTools(F12),选择“Network”选项卡。尝试访问您的GitHub Pages网站,看到发生301重定向。
GitHub会抱怨您的域名未正确配置:

这里输入图片描述

其实那并不太重要。重要的是你需要进行301重定向,以符合Google搜索控制台“网站地址变更工具”的要求,这样你的网站就不会失去在谷歌上的排名。


2
这可能有些老了,但我仍然想给出一个替代答案。你可以在你的index.html中简单地使用元刷新

<meta http-equiv="refresh" content="1;url=http://example.com/" />

然后在页面上使用常规链接(也可以是消息),以防刷新停止。虽然这不推荐用于SEO,因为谷歌可能会索引空白页面。但它很可能会起作用。

0
你可以使用JavaScript来检查当前页面的域名并在必要时进行重定向。如果您选择这种方法,问题和答案已经在SO上了: 基于URL的重定向 - JavaScript

1
JavaScript重定向无法防止搜索引擎抓取器的重复内容问题。 - Manuel
1
你可以使用规范标签 https://support.google.com/webmasters/answer/139066?hl=en。 - Maximilian Ruta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接