【问题标题】:Redirect all Angular URLs with hash to Routes without hash将所有带散列的 Angular URL 重定向到不带散列的路由
【发布时间】:2020-11-03 16:42:46
【问题描述】:

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

我的一些用户已使用哈希为网站添加了书签,因此我想将所有哈希路由重定向到非哈希路由。

我可以在代码中做,但出于 SEO 的考虑,我更喜欢在之前做。也许在 Heroku 级别?

【问题讨论】:

    标签: node.js angular heroku


    【解决方案1】:

    试试这个

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

    如有任何疑问,请告诉我。

    【讨论】:

      【解决方案2】:
      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('/#', ''));
                }
              }
            });
          }
      }
      

      【讨论】:

      • 解释一下你的代码做了什么以及你的解决方案是解决问题的好方法是个好主意。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多