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