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 自定义域名失效的问题