hosting spa on github pages

### Notes on client-side routing:
### GitHub Pages doesn’t support routers that use the HTML5 `pushState` history API under the hood 
### (for example, React Router using `browserHistory`). 
### This is because when there is a fresh page load for a url like `http://user.github.io/todomvc/todos/42`, 
### where `/todos/42` is a frontend route, 
### the GitHub Pages server returns 404 because it knows nothing of `/todos/42`. 
### If you want to add a router to a project hosted on GitHub Pages, 
### here are a couple of solutions:* 
### You could switch from using HTML5 history API to routing with hashes. 
### If you use React Router, you can switch to `hashHistory` for this effect, 
### but the URL will be longer and more verbose 
### (for example, `http://user.github.io/todomvc/#/todos/42?_k=yknaj`). 
### [Read more](https://reacttraining.com/react-router/web/api/Router) about different history implementations in React Router.* 
### Alternatively, you can use a trick to teach GitHub Pages to handle 404 by redirecting 
### to your `index.html` page with a special redirect parameter. 
### You would need to add a `404.html` file with the redirection code to the `build` folder before deploying 
### your project, and you’ll need to add code handling the redirect parameter to `index.html`. 
### You can find a detailed explanation of this technique [in this guide](https://github.com/rafrex/spa-github-pages).

### Check the article for more info
### extra note from me: If you still can't get anything to render except the homepage even after giving the "exact" param
### then try moving your homepage router to the end of the switch tag
### that way it'll be checked at the very last for matching the url

Are there any code examples left?
Made with love
This website uses cookies to make IQCode work for you. By using this site, you agree to our cookie policy

Welcome Back!

Sign up to unlock all of IQCode features:
  • Test your skills and track progress
  • Engage in comprehensive interactive courses
  • Commit to daily skill-enhancing challenges
  • Solve practical, real-world issues
  • Share your insights and learnings
Create an account
Sign in
Recover lost password
Or log in with

Create a Free Account

Sign up to unlock all of IQCode features:
  • Test your skills and track progress
  • Engage in comprehensive interactive courses
  • Commit to daily skill-enhancing challenges
  • Solve practical, real-world issues
  • Share your insights and learnings
Create an account
Sign up
Or sign up with
By signing up, you agree to the Terms and Conditions and Privacy Policy. You also agree to receive product-related marketing emails from IQCode, which you can unsubscribe from at any time.
Creating a new code example
Code snippet title
Source