Guide
"Page not found" when you refresh or open a link directly
The app works when you click around. But refresh /dashboard, or open a link someone shared, and you get 404 Page Not Found. For a customer following a link from an email or a post, that's a dead end, and they leave.
Why it happens
Apps made by AI builders are usually single-page apps: there's one real file, index.html, and the app draws each "page" itself. Clicking inside the app never asks the server for /dashboard. Refreshing does, and the server has no such file, so it answers 404.
Confirm it
Open your live site, go to any page except the home page, and press refresh. If you get a 404 from the host (Netlify's or Vercel's own error page), this is it.
Fix it
Tell the host: "for any path, serve index.html and let the app decide."
- Netlify: add a file named
_redirectsto yourpublicfolder containing:/* /index.html 200 - Vercel: add a
vercel.jsonwith a rewrite of all paths to/index.html. - Other hosts: look for "SPA fallback" or "rewrite all routes to index.html".
Redeploy, then test a refresh on three different pages and one shared link.
Also check your own dead ends
Refresh 404s are one kind of dead end. In our tests of 37 newly launched AI-built apps, 28 had at least one problem a first customer would hit. The details are in what we found testing 37 newly launched apps.
Paste your app's link at vibe-fixer.com: an AI agent follows your links like a first customer and tells you how many problems it finds. Free, no account.
Still stuck?
Paste your app’s link for a free test — no account. Your AI agent goes through it like a first customer, shows you what breaks, then fixes it while you watch.