I've built a nextjs app, with npm run build && npm run export
and deployed to firebase using firebase deploy
command. Prior to that, I've used firebase init
in my project folder with just using the default options eg. not a single page application.
After I go and visit my project in firebase provided url however, I see the home page which is index.html, but whenever I use any other slug it throws a 404. Why this is happening ? I`ve included my firebase.json file, in case it might help.
firebase.json
"hosting": {
"public": "out",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
}
With the rules you have Firebase Hosting serves the exact file that the user requested.
To rewrite other/all URLs to your index.html
, you'll need to add a rewrite rule to your firebase.json
. A typical rewrite rule for single-page applications may look like this:
"hosting": {
// ...
// Serves index.html for requests to files or directories that do not exist
"rewrites": [ {
"source": "**",
"destination": "/index.html"
} ]
}