My Angular 2 application uses the default HTML 5 history.pushState
location strategy. How do I configure a server with history.pushState
so browser refreshes and browser URLs do not generate 404
s?
For example, the Tour of Heroes application has a few different application routes like:
http://localhost:8080/dashboard
http://localhost:8080/heroes
http://localhost:8080/detail/13
If you hit refresh on one of these routes, or type one of the URLs, you'll get 404
since /detail/13
is an application route, not a server resource. I've configured the location strategy at the top of the head
in my index.html
:
<!doctype html>
<html>
<head>
<base href="/">
<meta charset="utf-8">
<title>Tour of Heroes</title>
but how should a server be configured so it sends all URLs to my application instead of generating a 404
?
Note: This question is the complement to the questions Angular 2 : 404 error occur when i refresh through Browser and Angular 2.0 router not working on reloading the browser asking how to address this problem. For Firebase, there's this: When I refresh my website I get a 404. This is with Angular2 and firebase and for Apache there's this: htaccess redirect for Angular routes.