Can github pages CNAME file contain more than one domain?

GithubGithub Pages

Github Problem Overview


Can github pages CNAME file contain more than one domain?

Example file:

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

Github Solutions


Solution 1 - Github

No, this is not possible. See the GitHub Help docs that explain this:

> Ensure you only have one domain listed in your CNAME file. If you wish to have multiple domains pointing to the same Pages, you will need to set up redirects for the other domains. Most domain registrars and DNS hosts offer this service to their customers.

Solution 2 - Github

Here is one approach that is a Github-only solution using an HTML redirect.

  1. Create an extra repository
  2. Configure it to use Github Pages with the additional domain
  3. Add an an index.html file with the following contents

<!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>

Solution 3 - Github

You can have only one domain name in the CNAME file. Additionally you can setup forwarding (optionally with masking) on your other domains.

Without masking, it is like a redirect to your original website where the url in the browser will show your original website.

With masking, it will serve contents from your original website and the url in the browser will show the new one.

I have setup forwarding with masking for my blog. You can check out the following links to see how that works.

Original blog: http://hemanshubhojak.com

Forwarded blog: http://batcode.net

Solution 4 - Github

Only one DNS record is needed to point reggi.com OR www.reggi.com to username.github.io.

Github automatically points both to username.github.io

With the above set you can reach username.github.io/blog at:

blog.reggi.com (with CNAME file containing blog.reggi.com) or reggi.com/blog or www.reggi.com/blog

or even

blog.reggi.com/blog (with CNAME file containing blog.reggi.com)

Hope this helps. It was beyond me for a while.

Solution 5 - Github

What Ivan Zuzak says. If you want to redirect blog.reggi.com to reggi.com, you can't do this from Jekyll's CNAME file. However, as indicated in the documention, your domain registrars should be able to do this for you.

For example, I use the domain from name.com, I can add one "URL Forwarding" entry:

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

It should take effect within short period of time (an hour or two for me).

Solution 6 - Github

if you are using cloudflare, you can use Page Rules to redirect your url to github pages.

check this page: Configuring URL forwarding or redirects with Cloudflare Page Rules – Cloudflare Support

Solution 7 - Github

No, but you could use a GitHub Action to keep a second repo up-to-date with the master repository. This second repo could have GitHub Pages set up with another domain.

Fork Sync looks like a good option.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionThomasReggiView Question on Stackoverflow
Solution 1 - GithubIvan ZuzakView Answer on Stackoverflow
Solution 2 - GithubmpgarateView Answer on Stackoverflow
Solution 3 - GithubHemanshu BhojakView Answer on Stackoverflow
Solution 4 - GithubJosh_McView Answer on Stackoverflow
Solution 5 - GithubYi ZengView Answer on Stackoverflow
Solution 6 - Githubpeter zhangView Answer on Stackoverflow
Solution 7 - GithubDavid WheatleyView Answer on Stackoverflow