Angular 7路由忽略路径

时间:2020-06-04 17:05:31

标签: angular7-router

我有一个Angular 7应用程序,在后端运行.Net Core。 我定义了以下路线:

const routes: Routes = [ 
  { path: 'home', component: HomeComponent },
  { path: 'login', component: LoginComponent },
  { path: 'about', component: AboutComponent },
  { path: '**', redirectTo: 'home' } 
];

在Visual Studio 2019中,它运行在https://localhost:44358上。

所有工作均按预期进行。

但是现在我想使用sustainsys.saml2.aspnetcore2获取用于SAML实现的元数据。 要获取元数据文件,我尝试在浏览器中输入https://localhost:44358/Saml2/。 正如预期的那样,由于该路径与定义的任何内容都不匹配,因此默认路由将接替我,并将我路由到主页。

我删除了最终路径,所以我不再为不匹配的路径设置任何默认路由,然后可以很好地获取元数据。

我的问题是:对于所有不匹配的路径,有什么方法可以重定向到“ home”?除了,某些已配置的路径(或多个路径)会被忽略,就像没有默认路由一样?

1 个答案:

答案 0 :(得分:0)

宁可在index.html中为您的base-href添加路径(例如<base href="/app/"/>),以便Angular Router不会在您的根目录上拾取路径,那么您就可以保留自己的路径通配符重定向,不会/Saml2/被拦截。

当然,如果应用已经在生产中,并且您需要保留URL,则可能无法进行此类更改。