Different custom domains for GitHub user page and project page? - github

Is it possible to associate more than one custom domain with the same GitHub user account? I would like to use one custom domain for my personal page and another custom domain for a project page.
Specifically, I would like www.deeplearningbook.org to show the GitHub pages for the goodfeli/book project, and www.iangoodfellow.com to show the GitHub pages for the goodfeli/goodfeli.github.io user page. (And if I can be ambitious, I'd like blog.iangoodfellow.com to show the GitHub pages for goodfeli/blog)
I have tried a few different ways to set them up, and everything I have done has ended up with one URL or the other working but not both.
My current setup is a huge mess, but since a commenter asked me what my name records currently are:
iangoodfellow.com: I deleted all name records after the last failure. namecheap filled in a default parking page thing. I deleted the custom domain field from the goodfeli/goodfeli.github.io repository on github. Strangely, http://goodfeli.github.io successfully loads but https://goodfeli.github.io redirects to the broken www.iangoodfellow.com parking page. I'm not very happy that github is doing that... I didn't realize that taking down goodfeli.github.io was a possible failure mode here.
deeplearningbook.org: I doubt this is the correct thing to do, but it's the only thing I've been able to get to work so far:
Redirect domain: deeplearningbook.org -> https://www.deeplearningbook.org
A record # 192.30.252.153
A record # 192.30.252.154
CNAME Record www goodfeli.github.io.
It's that last CNAME record that I think is the problem. Having the goodfeli.github.io CNAME record for www.deeplearningbook.org prevents me from linking a different domain to the goodfeli.github.io personal page.
I haven't been able to figure out how to link www.deeplearningbook.org specifically to the goodfeli.github.io/dlbook project page though.

Yes in short, through one sub domain exampleUser.github.io, for example, my page https://shushugah.github.io is my main one, and maps to a custom domain https://shushugah.com while https://shushugah.github.io/23 links to a different github page at https://2Jews3Opinions.com One side effect of this is that https://shushugah.com/23 also redirects to https://2Jews3Opinions.com
I detail this in my blog post https://medium.com/#shushugah/2-customs-domains-for-2-github-pages-a8a9e77d3e57

Related

Redirect Github homepage to custom homepage

I used to host my webpage on username.github.io.
I have now set up a new webpage on username.com, and has no relation to username.github.io.
However, I want to redirect username.github.io to username.com.
As of now, if somebody enters username.github.io, it takes you to the 404 not found page.
Is there anyway I can reroute it to username.com?
Instead of a redirect, the normal process is for your current GitHub pages to use a custom domain
You find a better illustration of that process here
Go to your GitHub Pages site’s repository settings.
Under “Custom domain”, add or remove your custom domain and click “Save”.
Setting “custom domain” creates a file named CNAME in the same repository.
Don’t delete it.
The OP sidv adds in the comments:
After setting up my website (deployed elsewhere) and the DNS servers, I was unable to open the webpage on Safari and Firefox (only on Chrome).
Finding the load balancing IP and configuring it as an A record ended up redirecting the webpage appropriately.

GitHub public link format for accessing my website

I made a GitHub account. Ex: github.com/username
I made a repository (for a website) Ex: github.com/username/website
I'm new to GitHub, and initially, I thought the public access link to the website must http://website.github.io, but that doesn't work! All I'm getting is 404 no matter what I try.
I've tried the following examples:
username.github.io
username.github.io/username
username.github.io/website
username.github.io
website.github.io/website
username.github.com/website
but nothing works.
Finally, after an hour's worth of stumbling around, I realized that I would have to change my website's name to https://github.com/username/username so that http://username.github.io will work as the public link, Which I, obviously, don't want. I want http://website.github.io ideally or at least http://username.github.io/website
So, how do I make it work? How do my visitors access my website? Is it even possible to have it my way? If not, then do I have to make a new account for every new project? Won't that just defeat the purpose of a GitHub account?
So, how do I make it work?
https://username.github.io/projectname works for me, where username is of course my user name and projectname is the name of the repository. HTTP would probably be fine, but I checked the box to require HTTPS.
I want http://mywebsite1.github.io ideally
There's a "custom domain name" setting that purports to let you use your own domain, so you could something like http://myproject.mywebsite1.com/.
or at least http://UserName.github.io/mywebsite1
If mywebsite1 is the name of your project, you should be good to go -- that's the same format that worked for me above, except you're allowing http instead of just https.
Am I missing something crucial due to my day-0 newness on github?
It's possible that you've missed a step, or that you've restricted access to the project. It might help to go back to basics: forget everything you think you know and just follow their guide.
To create a website using GitHub pages you need to create an index.html file into any repository (No matter what name your repository is).
Then you need to publish your repository to be able to have your website.
First, go to your repository
Then go to Settings tab
Scroll down until you reach GitHub Pages
Then in source, you need to select your branch, in your case master branch
Then click on save and you are ready to go!!
Your repository will be online at http://username.github.io/yourRepoName
If your repository name is username.github.io your website will be live at http://username.github.io
Also, you need to know that you can only public static websites.
Understand GitHub Pages reading this.

Github pages not accessible after deleting CNAME

I had a working github pages before at http://igghub.github.io/
I was trying to figure out how to add custom domain. I followed this guide from gh-pages on how to add custom domain. On my repo's Custom Domain setting, I nonchalantly added iggy.io and saved it. Silly me, I did not create DNS (I didn't know what it was until now).
Naturally, when I typed either igghub.github.io or iggy.io, it didn't work. So I deleted the iggy.io custom domain and saved it.
However, I am still unable to access github pages even after I cleared out custom domain! Everytime I try going to igghub.github.io it still redirects to iggy.io.
The last 2 commits showed that CNAME was finally deleted.
Why can't I access my old github-pages and why does github-pages still redirect me to the deleted custom domain?
Try clearing your browser cache, may have a temp or perm HTTP redirect stored in there

How to stop redirecting to custom domain?

Some years ago I added a custom domain from free site just to try a new feature of Github. Now that I want to make a page my main url keeps getting redirect to myexpireddomain.com ...
http://myuser.github.io => myexpireddomain.com
http://myuser.github.io/page => myexpireddomain.com/page
and this all results in 404...since domain doesn't exist.
I think I need to remove cname file somewhere. But out 20 repos that I have I don't see any that should cname... which repo is at the root domain. http://myuser.github.io
For removal of custom domain, I removed all of the text from the custom domain field in the settings for that particular website, then pressed save. Then, I found out that you have to clear the browser cache (in google chrome I just cleared all of the browsing data for the last hour), otherwise it will still redirect to the custom domain!
Also, make sure that the CNAME file in your repository is deleted. Github pages creates this for you when you add a custom domain.
The repository for your main domain is either myuser.github.io, as documented on the Pages website, or possibly myuser.github.com in case your site is from before GitHub started using github.io for Pages.
Check the master branch for a file called CNAME in the repository root.

Redirect Github Pages to custom domain

I have created a Github Pages site and put it on repository abc of github account with username xyz.
So, my site is now live on xyz.github.io/abc
I created a cname file with my custom domain, and configured my DNS with the settings said on Github pages.
Now, my site is also live on mycustomdomain.com
Now, I don't want my site to be live on xyz.github.io/abc . I want it to redirect to mycustomdomain.com or not accessible.
Is there any way to do that?
I know that I can create User Pages site (with username.github.io) which will automatically redirect to custom domain, but I want to create project site.
Any suggestions?
A CNAME solution:
Sure. Github has a nice functionality for it.
When you create CNAME folder inside of your repo, you will be redirected:
https://help.github.com/articles/adding-a-cname-file-to-your-repository/
Check out my Github Pages website: https://github.com/ondrek/ondrek.github.io
( you can browse ondrek.com, but it's impossible to browse ondrek.github.io )
A JS solution:
If you want to redirect a custom page — the only possible solution will be javascript redirection.
if (window.location.href==="https://xyz.github.io") {
window.location.href = "https://mycustomdomain.com";
}
but it will not solve your problem with Google. You can solve this with correct using Google Webmaster Tools and tell to Google about the duplicate (for SEO purposes).
I had a GitHub Pages website (https://kamarada.github.io/), I moved it to GitLab (https://kamarada.gitlab.io/) and besides that I set up a custom domain on GitLab (https://linuxkamarada.com/). Now the question: how to make a 301 redirect from the GitHub Pages to the custom domain? Is that possible?
Well, as Ciro Santilli answered on this other question, there is no "beautiful non-plugin solution". Indeed, the solution I found is not beautiful, it is more kind of a workaround, but it works.
Inspired by the Samuel Ondrek answer on this same question (thanks a lot!), I set up CNAME redirection.
Go to your GitHub Pages repo, click Settings and below GitHub Pages, under Custom domain, enter your custom domain and click Save.
Now open another tab on your browser, open DevTools (F12), select the Network tab. Try to access your GitHub Pages website and see that a 301 redirect happens.
GitHub is going to complain that your domain is not configured properly:
Well, that does not really matter. What matters is that you have the 301 redirect required by the Google Search Console's Change of Address Tool and your website won't lose its Google ranking.
This might be a bit old but I'd still like to give an alternative answer to this. You can simply use meta refresh on your index.html
<meta http-equiv="refresh" content="1;url=http://example.com/" />
Then use a regular link (an a message also) on the page in case refresh stops. Though it is not recommended for SEO since google might index the blank page. But it would most likely work work.
You could use JavaScript to inspect the domain of the current page and redirect if necessary. If you go this route, the question and answer are already on SO:
Redirection based on URL - JavaScript