Angular新手求助:URL无法重定向至主页问题排查
Angular路由重定向问题解决
你的路由配置有两个关键问题导致重定向没效果:
1. 错误的通配符写法
你写的{ path: '**accessibility/', redirectTo: '', pathMatch: 'full' }是错误的——Angular的**是独立的通配符,用来匹配任意未定义的路径,不能和具体路径拼接。要匹配accessibility路径,直接写路径字符串即可。
2. 路由顺序与冲突
Angular路由是从上到下匹配的,你的重定向路由放在了两个空路径之后,根本不会被触发;而且两个空路径路由(懒加载模块和AppComponent)互相冲突,只会生效第一个。
修正后的路由配置
根据你的需求,调整后的路由如下:
import { Routes } from '@angular/router'; import { AppComponent } from './app.component'; export const APP_ROUTES: Routes = [ // 优先匹配accessibility路径,重定向到主页 { path: 'accessibility', redirectTo: '', pathMatch: 'full' }, // 兼容带末尾斜杠的accessibility/路径(可选,Angular通常会自动处理斜杠) { path: 'accessibility/', redirectTo: '', pathMatch: 'full' }, // 主页路由:保留一个即可,这里用你的懒加载模块作为主页 { path: '', loadChildren: () => import('./modules/documents/documents.module').then(m => m.DocumentsModule) }, // 兜底重定向:所有未匹配的路径都跳转到主页 { path: '**', redirectTo: '', pathMatch: 'full' } ];
额外说明
- 如果你希望
AppComponent作为主页,就把懒加载的空路径路由删掉,保留{ path: '', component: AppComponent }。 - 路由顺序很重要,具体路径的重定向要放在最前面,兜底的
**必须放在最后。
内容的提问来源于stack exchange,提问作者StefanoSKAL
相关产品推荐
相关产品推荐

