将所有带哈希的Angular URL重定向到不带哈希的路由

时间:2019-08-08 10:36:33

标签: node.js angular heroku

我已将我的角度应用程序从使用哈希(#)更改为非哈希,并且一切正常。

我的一些用户已经用哈希将站点标记为书签,因此我想将所有哈希路由重定向到非哈希路由。

我可以在代码中做到这一点,但是由于SEO的考虑,我更喜欢这样做。也许在Heroku级别?

2 个答案:

答案 0 :(得分:0)

尝试一下

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('/#', '')]);
          }
        }
      });
    }
}

如有任何疑问,请通知我。

答案 1 :(得分:0)

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('/#', ''));
          }
        }
      });
    }
}