Since you are reading this, you surely might have came across the same error as shown in the cover image.
I'm not sure if other static site servers/platforms are all like that, but if you deploy SPA to Netlify you can only navigate from index.html to other pages using Links.Once you refresh or type a URL directly in the address bar you'll get 404.
Why does this error occur?
If your SPA is build with React then React Router handles routing on the client side (browser) when you visit internal page (e.g. http://localhost:3000/about) but once you host your SPA on Netlify (server-side) the routing logic has to be modified because Netlify does not know how to handle the route.
How to fix the issue?
As per the doc, you need to create a file named _redirects in the root folder.You can go to the link mentioned above to know more about it.I'll directly show how to fix it:
- Create a file named _redirects without any extension inside public folder.
- Copy paste the below content in the file
/* /index.html 200
- Push your code and redeploy
Cheers π₯ you fixed the broken link!
Oldest comments (17)
Life-saving Post
Thank You
Glad to be of help!
And if you want to host a react app on any Cpanel or shared hosting, then adding .htaccess file will be super useful.
You can using server configuration: router.vuejs.org/guide/essentials/...
Thanks this worked like magic
thanks ...your solution solved my issue...THANKS
Iβve ran into this issue before and didnβt exactly know what to do. I guess Iβll try this out and see. Thanks.
Worked like a charm, thank you.
This fixed it! Thank you!
Thank you!! your solution solved my issue.
i make a project just used html, css and js but i tried this way, its not work
This will fix your issue only if you are using React and React-Router (or other routing library ?).
If you are facing this issue with a website built on a different stack, there is probably a different cause.
Thanks...
Thank you so muchπ€
I created an account here just to tell you that you are awesome.
Easy fix;
In your root directory, create a _redirects file;
Add this;
/* /index.html 200
This should fix the issue for React apps hosted on Netlify.
Source: devsntechies.com/fix-page-not-foun...
Thanks, I tried this and it worked for me too!