我在tomcat中部署了我的angular应用程序,使用ng build --prod --base-href=/myapp/
构建,当我尝试使用[routerLink]="['/home']
访问像http://localhost:8083/myapp/home
这样的特定路由时,它运行良好,但当我尝试刷新页面或从浏览器直接访问http://localhost:8083/myapp/home
时,我会得到HTTP Status 404 The requested resource [/myapp/home] is not available
,下面是我的路由配置:
const routes: Routes = [
{ path: 'myapp', redirectTo: "/home", pathMatch: "full" },
{ path: 'home', component: HomeComponent }
];
更新:
我在tomcat中添加了以下配置,404错误消失了,但现在当我刷新页面时,我被重定向到默认路由myapp
,而我应该被重定向到当前路由:
<error-page>
<error-code>404</error-code>
<location>/index.html</location>
</error-page>
我通过将index.html中的<base href="/">
更改为<base href="./">
解决了这个问题
或者在build:中直接指定./
ng build --prod --base-href=./