Skip to content
Advertisement

Can I create routes with react-router for a github-pages site?

Ok, so I’ve made a SPA using React and React-Router and have pushed it to github pages, but none of the routes I have written work when I refresh or click back in my browser. I had the same problem when I was serving the page locally, but then followed along to this SO answer and made a server.js file which provided a redirect to my static HTML page at each route. Here is what the file looks like:

JavaScript

Now, my problem is that when I push the project to github pages all of that logic is ignored, github’s routing takes over and I have the same problem of not being able to refresh or go straight to /contact or /about. I know it seems like an obvious problem to run into, since github pages is designed to only host static sites, but I’ve seen people hinting towards other ways of creating a static page for each route, such as the answer in this reddit post, but I have no idea how to do that.

I should also mention that because I already have a site at user-name.github.io, so this site is being hosted at user-name.github.io/projects, making that my / route. I have no idea if this makes any difference, I just thought I should mention it.

I think I’ve pretty much exhausted every option to try and successfully host this on gh-pages and I know there are projects like Single Page Apps for GitHub Pages to try and fix this issue but, I just wanted to see if anyone out there has had any luck doing this before resorting to that.

FYI, here is my app.js (containing routing logic):

JavaScript

Any help with this would be much appreciated & happy to include more code if helpful.

Advertisement

Answer

I think you need to change your browserHistory to a hashHistory.. so you can use it with gh… it changes path from /home to #/home

User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement