首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理手动导航到Angular中的URL时的打字错误

处理手动导航到Angular中的URL时的打字错误
EN

Stack Overflow用户
提问于 2021-07-31 06:34:12
回答 2查看 26关注 0票数 0

寻找以下问题的解决方案:

当用户手动导航到一个url,例如www.website.com/logi并输入错误时,我希望有一些逻辑来导航到正确的.../login url。我的网站有大约10个页面,它们有不同的导航urls,我也想检查那里的拼写错误。逻辑,可以检查1-2个字符的差异,并智能导航用户,即使他们犯了打字错误。

什么是这个问题的好解决方案?

EN

回答 2

Stack Overflow用户

发布于 2021-07-31 08:21:00

直接从Angular文档中可以看出,UrlMatcher是最适合你需要的东西。

链接:https://angular.io/api/router/UrlMatcher

您现在可以根据需要修改/编写RegExp

票数 2
EN

Stack Overflow用户

发布于 2021-07-31 08:12:06

在所有其他路由之后添加一个覆盖所有路由。在其中,检查您是否应该重定向。如果没有,则显示404 not Found错误。

代码语言:javascript
复制
// Routing module

const routes = [
  // Other routes first
  { path: '**', component: NotFoundComponent }
];
代码语言:javascript
复制
// NotFoundComponent

constructor(private route:ActivatedRoute, private router:Router) { }

  ngOnInit(): void {
    const redirects: [string, string[]][] = [
        ['logi', ['/login']]
    ];
    for (const redirect of redirects) {
      if (
        new RegExp(redirect[0], 'i').test(
          this.route.snapshot.url[0]?.path || ''
        )
      ) {        
        // If on Universal server, set Response status to 301
        this.router.navigate(redirect[1]);
        return;
      }
    }
    // Show 404 error
    // If on Universal server, set Response status to 404
  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68599749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档