【发布时间】:2020-11-03 16:42:46
【问题描述】:
我已将我的 Angular 应用程序从使用哈希 (#) 更改为非哈希,并且一切正常。
我的一些用户已使用哈希为网站添加了书签,因此我想将所有哈希路由重定向到非哈希路由。
我可以在代码中做,但出于 SEO 的考虑,我更喜欢在之前做。也许在 Heroku 级别?
【问题讨论】:
我已将我的 Angular 应用程序从使用哈希 (#) 更改为非哈希,并且一切正常。
我的一些用户已使用哈希为网站添加了书签,因此我想将所有哈希路由重定向到非哈希路由。
我可以在代码中做,但出于 SEO 的考虑,我更喜欢在之前做。也许在 Heroku 级别?
【问题讨论】:
试试这个
export class AppComponent implements OnInit {
constructor (private router: Router) { }
ngOnInit() {
this.router.events.subscribe(event => {
if (event instanceof NavigationStart) {
if (!!event.url && event.url.match(/^\/#/)) {
this.router.navigate([event.url.replace('/#', '')]);
}
}
});
}
}
如有任何疑问,请告诉我。
【讨论】:
export class AppComponent {
constructor (private router: Router) {
this.router.events.subscribe(event => {
if (event instanceof NavigationStart) {
if (!!event.url && event.url.match(/^\/#/)) {
this.router.navigateByUrl(event.url.replace('/#', ''));
}
}
});
}
}
【讨论】: