github pages CNAME 文件可以包含多个域吗?

Posted

技术标签:

【中文标题】github pages CNAME 文件可以包含多个域吗?【英文标题】:Can github pages CNAME file contain more than one domain? 【发布时间】:2013-05-03 11:24:17 【问题描述】:

示例文件:

reggi.com
www.reggi.com
blog.reggi.com

【问题讨论】:

【参考方案1】:

不,这是不可能的。请参阅解释这一点的GitHub Help docs:

确保您的 CNAME 文件中仅列出一个域。如果您希望多个域指向相同的页面,则需要为其他域设置重定向。大多数域名注册商和 DNS 主机都向他们的客户提供这项服务。

【讨论】:

【参考方案2】:

伊万·祖扎克所说的。如果你想将blog.reggi.com 重定向到reggi.com,你不能从 Jekyll 的 CNAME 文件中做到这一点。但是,如文档中所述,您的域名注册商应该能够为您执行此操作。

例如,我使用name.com的域,我可以添加一个“URL Forwarding”条目:

Domain blog.xxx.me
URL xxx.me
Type Redirect (301) 

它应该会在短时间内生效(对我来说一两个小时)。

【讨论】:

如果我在 CNAME 文件“reggi.com”中有一个域怎么办。然后我将“www.reggi.com”和“blog.reggi.com”的DNS cname更改为“reggi.com”?这就是你们正在考虑的吗?我不认为我想要重定向,我可能还不确定。 @ThomasReggi:我的设置是:把reggi.com设为CNAME,然后添加两条A记录,一条是reggi.com指向204.232.175.78,另一条是www.reggi.com指向204.232.175.78。之后,我添加了一个 URL 转发规则:blog.reggi.com 重定向到 reggi.com。与here 相同的设置【参考方案3】:

只需一条 DNS 记录即可将 reggi.com 或 www.reggi.com 指向 username.github.io。

Github 自动指向 username.github.io

通过上述设置,您可以访问 username.github.io/blog:

blog.reggi.com(CNAME 文件包含 blog.reggi.com) 要么 reggi.com/blog 要么 www.reggi.com/blog

甚至

blog.reggi.com/blog(CNAME 文件包含 blog.reggi.com)

希望这会有所帮助。有一段时间它超出了我的范围。

【讨论】:

【参考方案4】:

CNAME 文件中只能有一个域名。此外,您可以在其他域上设置转发(可选地使用屏蔽)。

没有屏蔽,就像重定向到您的原始网站一样,浏览器中的 url 将显示您的原始网站。

通过掩码,它将提供您原始网站的内容,并且浏览器中的 url 将显示新的。

我已经为我的博客设置了带有掩码的转发。您可以查看以下链接以了解其工作原理。

原博客:http://hemanshubhojak.com

转发博客:http://batcode.net

【讨论】:

第二个链接现已失效(2021 年 6 月 12 日)【参考方案5】:

您只能使用一个 DNS 记录,sitename.com 或 www.sitename.com 指向 username.github.io。

【讨论】:

这基本上只是对现有答案的重复。 - From Review【参考方案6】:

这是一种使用 html 重定向的仅 Github 解决方案。

    创建一个额外的存储库 将其配置为使用带有附加域的 Github 页面 添加一个包含以下内容的index.html 文件
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Redirecting to https://example.com</title>
    <meta http-equiv="refresh" content="0; URL=https://example.com">
  </head>

  <link rel="canonical" href="https://example.com">
</html>

【讨论】:

我已经用 powershell 实现了每页。gist.github.com/CraigChamberlain/… 这将如何与爬虫和其他东西一起使用?分享预览呢? @iuliu.net 这是一个复杂的话题 - 它在文章中有很好的记录,一般的答案是html规范重定向大部分很好,因为目标页面是被跟踪的,可靠的。预览效果往往很好 - Here's an article - 基本上,它可以工作,并且大多数搜索引擎都可以很好地处理它,但它可能会产生一些负面影响【参考方案7】:

如果您使用的是 cloudflare,您可以使用页面规则将您的 url 重定向到 github 页面。

查看此页面:Configuring URL forwarding or redirects with Cloudflare Page Rules – Cloudflare Support

【讨论】:

【参考方案8】:

不,但您可以使用 GitHub Action 使第二个 repo 与主存储库保持同步。第二个 repo 可能会将 GitHub Pages 设置为另一个域。

Fork Sync 看起来是个不错的选择。

【讨论】:

以上是关于github pages CNAME 文件可以包含多个域吗?的主要内容,如果未能解决你的问题,请参考以下文章

github+hexo搭建自己的博客网站注意事项(避免read.me,CNAME文件的覆盖,手动改github page的域名)

解决 mkdocs部署 Github Pages 自定义域名失效的问题

解决 mkdocs部署 Github Pages 自定义域名失效的问题

解决 mkdocs部署 Github Pages 自定义域名失效的问题

如何使用Github仓库创建网站

GitHub Pages和每个项目绑定自定义域名(支持多个和顶级域名)