我的Angular 6应用程序有问题。
我的应用程序网址:my-server / my-app / index.html。
加载该应用程序后,该网址会自动进行重写,而不会包含“ index.html”。 这是一个大问题,因为深层链接不可用。
示例:my-server / my-app / deep-route-1 / 6
该应用程序运行良好,但是如果用户要复制/粘贴此深层链接,则服务器http响应404(我认为这很正常)。
如何解决这个问题?
这是我的路线声明:
const routes: Routes = [
//{ path: '', redirectTo: '', pathMatch: 'full' },
{ path: 'simulation/:id', component: SimulateurComponent, resolve: { vm: SimulationResolver } },
{ path: 'parametres/:nedt', component: ParamsComponent, resolve: { params: ParamsResolver } }
]
@NgModule({
imports: [ RouterModule.forRoot(routes) ],
exports: [ RouterModule ]
})
编辑
搜索后,看来这是Angluar.io的新特性。 Angular 6使用“ html 5网址”,这就是他自动删除网址中的“ index.html”的原因。
为了解决这个问题,有两种解决方案: -复杂的网址(重写网址)-没有时间对其进行测试 -一个简单的方法:使用angular.js技术:
@NgModule({
imports: [ RouterModule.forRoot(routes, { useHash: true }) ],
exports: [ RouterModule ]
})
export class AppRoutingModule {}
“ hashash”是魔术;)