我们正在使用Websphere为我们托管一系列应用程序:
我担心的是深层链接。如果用户位于/ marketing / products / 1,并且他们刷新浏览器或共享链接,则我需要服务器将该路由发送到正确的Angular应用程序,以便可以正确生成它。
在一个更简单的设置中,Angular应用程序位于根目录,我将使用Java应用程序的web.xml文件将流量重定向到“ /”。但是在我当前的情况下,我需要流量使营销站点转到“ / marketing”,而不仅仅是“ /”。就像来自管理站点的深层链接一样,需要转到“ / admin”。
此外,这些Angular应用程序的基本URL可能会更改,我们还计划将其他Angular站点添加到此同一服务器。因此,我真的在寻找一种可以动态工作的解决方案,并使服务器重定向到URL中的第一个“ slug”,而不是匹配特定目录。
有什么想法吗? (并且请原谅并纠正我在上面展示的任何误解-我目前对WebSphere知之甚少)
error-page
中使用web.xml
指令,但是在应用程序中指定servlet的URL,该servlet可以手动进行检查并根据需要发出重定向。根据打包方式的不同,如何将上下文根列表提供给您的应用程序,但可以使用server.xml
中的文件,环境变量或JNDI条目来完成。 HashLocationStrategy
,这将绕过错误页面。似乎不太可能是这种情况,但我将其放在此处以使其不受干扰。HashLocationStrategy
文件,并在.war
的webApplication
元素中配置上下文根。然后重定向到webApplication
中的server.xml
将起作用,因为该/相对于上下文根。