Angular 中的路由在刷新时抛出 404 资源不可用
Route in Angular throws 404 resource not available when refreshed
我在 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
,而我' m 应该被重定向到当前路线:
<error-page>
<error-code>404</error-code>
<location>/index.html</location>
</error-page>
我通过将 index.html 中的 <base href="/">
更改为 <base href="./">
解决了这个问题
或在构建中直接指定./ :
ng build --prod --base-href=./
我在 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
,而我' m 应该被重定向到当前路线:
<error-page>
<error-code>404</error-code>
<location>/index.html</location>
</error-page>
我通过将 index.html 中的 <base href="/">
更改为 <base href="./">
或在构建中直接指定./ :
ng build --prod --base-href=./