2017-12-05 14 views
0

URLが間違っていると404エラーを処理しようとしています。http://localhost:8100/#/login。これは私のログインURLです。http:.../loginasdasdのようなものを書くと、私自身のNotFoundPageが自動的に開きます。 リダイレクトエラー404角5

const appRoutes3: Routes = [ 
    { 
    path: '', 
    children: [ 
     { 
     path: 'login', 
     component: LoginPage 
     }, 
     { path: 'login**', redirectTo: '/notfound' } 
    ] 
}, 
{ path: 'notfound', component: NotFoundPage } 
]; 


RouterModule.forRoot(
    appRoutes3, 
    { enableTracing: true } // <-- debugging purposes only 
) 
, 
IonicModule.forRoot(MyApp, {}, { 
    links: [ 
    { component: HomePage, name: "Home", segment: "" }, 
    { component: LoginPage, name: "Login", segment: "login", defaultHistory: [HomePage] }, 
    { component: SubscribePage, name: "Signup", segment: "signup", defaultHistory: [HomePage] }, 
    { component: SubscribeExtendPage, name: "Signup", segment: "signup-extend", defaultHistory: [HomePage] }, 
    { component: MainPage, name: "Main", segment: "main", defaultHistory: [HomePage] }, 
    { component: WelcomePage, name: "Welcome", segment: "welcome" }, 
    { component: NotFoundPage, name: "notFound", segment: "login/**", defaultHistory: [HomePage] }, 
    ] 
} 
) 
], 

私は角度のnoobと私はどのようにそれを正しく行うにはしていない、私が見つけた最高の情報はいくつかの他の角度のリダイレクトの記事でhttps://vsavkin.com/angular-router-understanding-redirects-2826177761fcです。

何か助けや手がかりがありがとうございます。おかげさまで

答えて

1

ワイルドカード文字(**)を使用する必要があります。 **経路は最後の経路にする必要があります。要求されたURLが設定で定義されたルートのパスと一致しない場合、ルータはこのルートを選択します。これは "404 - Not Found"ページを表示したり、別のルートにリダイレクトしたりするのに便利です。

const appRoutes: Routes = [ 
    { path: 'crisis-center', component: CrisisListComponent }, 
    { path: 'hero/:id',  component: HeroDetailComponent }, 
    { 
    path: 'heroes', 
    component: HeroListComponent, 
data: { title: 'Heroes List' } 
}, 
{ path: '', 
redirectTo: '/heroes', 
pathMatch: 'full' 
}, 
{ path: '**', component: PageNotFoundComponent } 
]; 

希望します。

0

[角度]は、ルート配列で宣言した順序でルートに一致するように試みます。あなたはこれを行うことができます:

const appRoutes3: Routes = [ 
    { 
    path: '', 
    children: [ 
     { 
     path: 'login', 
     component: LoginPage 
     } 
}, 
{ path: '**', component: NotFoundPage } 
]; 

をしかし、あなたが本当にルート/notfoundをしたい場合は、redirectTo: 'notfound'ためredirectTo: '/notfound'を変更します。