In order to have a client router that works with both client navigation and direct navigation (like browser bookmark, shared links ans seo) you need to configure a fallback in your server in order to serve index.html (witch will manage client routing)

This becouse brower doesn’t know in which part of your application is routing managed.

If static file are managed by a static server (or you are behins a reverse proxy) such as nginx you need to use try_files, like that https://stackoverflow.com/a/35039350.

If your static files are managed by your .net application probably you’ll need to configure a default route such as https://stackoverflow.com/a/24564360

During the migration new uri will be resolved as follows:

server side routing fallback to client side routing

Href inside the application will be resolved as follows: