我有一个Tomcat服务器与两个webapps,app1和app2( app部分是真的一样)。 每个应用程序都有一个独立的用户组。
我希望这些组能够使用group1.domain.com/app和group2.domain.com/appurl访问各自的应用程序,这意味着这些数字应该隐藏在浏览器中显示的url中。 我想这需要一个机制,将返回正确的应用程序基于URL的group#部分。
我对URL重写有一个模糊的理解。 有没有办法做到这一点只有雄猫? 或者我需要Apache HTTP服务器? 如果可能的话,我宁愿不使用Apache,但如果有必要的话,就不会遇到问题。
这不是真的重写url,而是更多关于虚拟主机。
你可以在tomcat中用server.xml中的Host元素来完成。 对于您的情况,您将需要一个Host group1.domain.com ,其中的appbase (读取文件夹,其中tomcat寻找战争)将包含app1和一个Host group2.domain.com ,其中的应用程序库将指向包含app2的文件夹。
对于那些使用IP地址的用户代理,您可能需要一个默认主机。
因此在server.xml中是这样的:
<Host name="group1.domain.com" appBase="/war/group1"/> <Host name="group2.domain.com" appBase="/war/group2"/>
然后在/ war / group1(对于第一个应用程序)中的app.war和/ war / group2中的app.war(对于第二个)
详细信息请参阅Tomcat文档