Vovy adds the rewrite rule your single-page app needs so every link loads your app, on Vercel, Netlify or Cloudflare Pages.
My app works but refreshing any page gives a 404 Not Found
How it works
- Reproduce the 404: Vovy opens a deep link like yoursite.com/dashboard directly. Clicking works, but a fresh load asks the server for a file that doesn't exist.
- Explain why it happens: Apps built with Vite, like Lovable and Bolt exports, have one real page, index.html. The browser handles the other routes, so the server needs to be told.
- Add the rewrite rule: Cursor adds a rewrite in vercel.json sending every path to index.html, or a _redirects file with /* /index.html 200 for Netlify.
- Deploy the change: Vovy commits and pushes the config file after you approve and waits for the deploy to finish.
- Test every route: It loads each of your routes fresh and shows a table of path and status, all 200.
What you provide
- Your project open in Cursor
- Access to your host
What you get
- Rewrite rule for your host
- Working deep links and refreshes
- Route test table
FAQ
Will this break my API routes?
No. Vovy writes the rule so /api paths and real files like images are served normally.
Does Next.js need this?
No. Next.js handles routes on the server already. This fix is for Vite and Create React App style apps.
What about a real 404 page?
After the rewrite, your app shows its own Not Found route for unknown paths. Vovy can add one if you don't have it.
Related tasks
All tasks