我有一个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”?除了,某些已配置的路径(或多个路径)会被忽略,就像没有默认路由一样?
答案 0 :(得分:0)
宁可在index.html中为您的base-href添加路径(例如<base href="/app/"/>
),以便Angular Router不会在您的根目录上拾取路径,那么您就可以保留自己的路径通配符重定向,不会/Saml2/
被拦截。
当然,如果应用已经在生产中,并且您需要保留URL,则可能无法进行此类更改。