现在,我的网站的网址看起来像这样,因为我正在使用此处描述的方法
HTTP://本地主机:4200 /#/ cadastro
是否可以删除网址中的哈希值而不会出现404错误?
编辑:路由器模块添加
const appRoutes: Routes = [ { path: '', component: HomeComponent }, { path: 'cadastro', component: CadastroNoivosComponent }, { path: '**', component: HomeComponent } ]; export const routing = RouterModule.forRoot(appRoutes);
AJT82.. 30
如果您使用的是Angular final,则哈希的原因可能是:
RouterModule.forRoot(yourRoutesHere, { useHash: true })
所以通过删除可能有所帮助.
RouterModule.forRoot(yourRoutesHere)
或者,如果您在提供者(在NgModule中)使用过:
{provide: LocationStrategy, useClass: HashLocationStrategy}
只是删除它.
编辑,如果您需要LocationStrategy,请尝试更改HashLocationStrategy
为PathLocationStrategy
:
{provide: LocationStrategy, useClass: PathLocationStrategy}
更多关于LocationStrategy的信息
现在我已经看到了关于404问题的路线,您可以尝试更改以下内容
{ path: '**', component: HomeComponent }
至:
{ path: '**', redirectTo: '', pathMatch: 'full' }
更多关于路由的信息
还要检查index.html
你已经设置了basehref,如下所示:
duke636.. 9
如果您在此处描述使用PathLocationStrategy,则可以删除URL中的哈希值.
但摆脱404错误需要一些服务器端调整.一种快速简便的方法是将服务器配置为在http://yourhost/*
请求表单的任何URL时加载主页.
如果您使用的是Angular final,则哈希的原因可能是:
RouterModule.forRoot(yourRoutesHere, { useHash: true })
所以通过删除可能有所帮助.
RouterModule.forRoot(yourRoutesHere)
或者,如果您在提供者(在NgModule中)使用过:
{provide: LocationStrategy, useClass: HashLocationStrategy}
只是删除它.
编辑,如果您需要LocationStrategy,请尝试更改HashLocationStrategy
为PathLocationStrategy
:
{provide: LocationStrategy, useClass: PathLocationStrategy}
更多关于LocationStrategy的信息
现在我已经看到了关于404问题的路线,您可以尝试更改以下内容
{ path: '**', component: HomeComponent }
至:
{ path: '**', redirectTo: '', pathMatch: 'full' }
更多关于路由的信息
还要检查index.html
你已经设置了basehref,如下所示:
如果您在此处描述使用PathLocationStrategy,则可以删除URL中的哈希值.
但摆脱404错误需要一些服务器端调整.一种快速简便的方法是将服务器配置为在http://yourhost/*
请求表单的任何URL时加载主页.