我们有一个使用Spring 5服务于AnuglarJS的spring boot应用程序。这就是我们的WebMvcConfigurer
的配置方式。
@Override
public void addViewControllers(ViewControllerRegistry registry) {
String portal = "forward:/app/portal2/index.html";
String rootPortalUrl = "/app/portal2/";
registry.addViewController(rootPortalUrl).setViewName(portal);
registry.addRedirectViewController("/app/portal/", rootPortalUrl);
registry.addRedirectViewController("/app/portal", rootPortalUrl);
registry.addRedirectViewController("/app/portal2", rootPortalUrl);
}
现在,我们需要每次输入任何子URL时都重定向回/app/portal2/
,因为否则我们将得到404,并且AngularJS也不关心路径。
例如:
/app/porta2/profile
/app/portal2/home
应重定向到/app/portal2/
请注意,/app/portal2/index.html
是有效的,应该没有重定向,否则我可以简单地做到:
registry.addRedirectViewController("/app/portal2/**", rootPortalUrl);
但这会导致重定向循环。