我按照说明构建angular 5 web应用程序,我在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' }
])
],
在本地服务器中一切正常,当点击链接时导航到正确的页面,当只是粘贴网址示例https://example.com/login时,它运行良好问题是当我将其部署到托管服务时它只能工作点击RouterLink时,如果我粘贴完整网址,我说的是CannotGet / login ...
这就是我在Html中使用RouterLink的方式
<a class="nav-link" routerLink='about-us'>about us</a>
我搜索了解决方案,从我理解的问题是浏览器找不到那些页面,因为Angular没有它们并使用自己的路由服务,我需要定义总是回退到index.html 我确实有后备路径,如上所示
{path:'not-found',component:NotFoundComponent},
{ path: '**', redirectTo: 'not-found' }
也尝试过这样 {路径:&#39; **&#39;,组件:NotFoundComponent}
但是找不到页面我得到了无法获取页面 有什么想法吗?