我们想要更改Tomcat Web应用程序的上下文根,并让旧URL引导用户访问新命名的应用程序。
http://hostname/oldappname
http://hostname/newappname
执行此操作的一种方法是使用newappname的上下文根和具有oldappname上下文根的另一个应用程序部署应用程序,并让用户引导用户访问新URL。
这个简单的选项不对我们开放,内部公司策略阻止在同一个Tomcat实例中运行多个应用程序(不可协商)。
我记得GlassFish有一个“备用文档根”的概念,可用于为应用程序提供多个上下文根,任何想法如何在Tomcat中执行此操作?
答案 0 :(得分:4)
在ROOT
下有一个名为tomcat/webapps
的目录。
对于那些“contextPath”与Webapps文件夹下的目录不同的URL,最终会调用此ROOT“app”。
所以你可以:
直接在“ROOT”文件夹下创建名为“oldappname”的文件夹。
在该“oldappname”文件夹中创建一个index.html,并使其具有Javascript以将浏览器重定向到新的URL。
每当浏览器调用http://servername/oldappname
时,tomcat将呈现:webapps/ROOT/oldappname/index.html
更新:
你可以用ROOT做一些有趣的事情:
Tomcat 6: How to change the ROOT application
https://tomcat.apache.org/tomcat-7.0-doc/config/context.html
答案 1 :(得分:0)
从oldappname重定向到newappname的index.html文件的示例:
<html>
<head>
<script type="text/javascript">
window.location.href = "/newappname";
</script>
</head>
</html>
要按照上面的Mecon放置在webapps/ROOT/oldappname
中。
另请参阅:How to set the context path of a web application in Tomcat 7.0