Angular 5 маршрутизация не может получить при развертывании на реальном хостинге - PullRequest
0 голосов
/ 04 мая 2018

Я создаю угловое 5 веб-приложение, следуя инструкциям, я определил все свои маршруты в app.module.ts

imports: [
    BrowserModule,
    RouterModule.forRoot([
      { path: '', component: HomeComponent },
      { path: 'login', component: LoginComponent },
      { 
        path:'chat-user-dashboard',
        component:ChatUserDashboardComponent, 
        canActivate:[ChatAuthGuard]
      },
      {path:'contact-us', component:ContactUsComponent},
      {path:'about-us', component:AboutUsComponent},
      {path:'not-found',component:NotFoundComponent},
      { path: '**', redirectTo: 'not-found' }
    ])
  ],

на локальном сервере все работает хорошо, когда нажимаете на ссылку, она переходит на правильную страницу, а когда просто вставляете URL с каким-то примером маршрута https://example.com/login, это работает хорошо, проблема в том, что когда я развертываю его на хостинге, он работает только при нажатии на RouterLink и если я вставляю полный URL, я говорю CannotGet / login ...

Это как пользователь RouterLink в HTML

 <a class="nav-link" routerLink='about-us'>about us</a>

Я искал решение, и из того, что я понял, проблема в том, что браузер не может найти эти страницы, потому что у Angular их нет и они используют собственную службу маршрутизации, и что мне нужно всегда определять запасной вариант index.html. и у меня есть запасной путь, как вы можете видеть выше

{path:'not-found',component:NotFoundComponent},
      { path: '**', redirectTo: 'not-found' }

тоже попробовал вот так {путь: '**', компонент: NotFoundComponent}

но вместо этого страница не найдена Есть идеи?

...