2015-05-27 60 views
2

我們想要更改Tomcat Web應用程序的上下文根,並讓舊的URL指導用戶訪問新命名的應用程序。要做到這一點Tomcat - 將舊的上下文根重定向到新的上下文根

http://hostname/oldappname 
http://hostname/newappname 

一種方法是部署與newappname的上下文根與oldappname的上下文根另一個應用程序的應用程序並引導用戶使用新的URL。

這個簡單的選項不對我們開放,公司內部策略阻止在同一個Tomcat實例(不可協商)中運行多個應用程序。

我記得GlassFish有一個「替代文檔根」的概念,可以用來給應用程序多個上下文根,任何想法如何在Tomcat中做到這一點?

回答

3

tomcat/webapps下有一個名爲ROOT的目錄。

這個ROOT「app」最終會被那些具有與Webapps文件夾下的目錄不同的「contextPath」的URL調用。

所以,你可以:

  1. 創建文件夾名爲 「oldappname」 直屬 「ROOT」 文件夾中。

  2. 在該「oldappname」文件夾中創建一個index.html,並使其具有一個Javascript以將瀏覽器重定向到新URL。

每當瀏覽器調用http://servername/oldappname,tomcat會呈現:webapps/ROOT/oldappname/index.html

UPDATE:

你可以做一些有趣的事情ROOT:

Tomcat 6: How to change the ROOT application

https://tomcat.apache.org/tomcat-7.0-doc/config/context.html

+0

你好梅肯,謝謝你,我已經試過你的建議,它運作得非常好,我可以使用。我希望能夠找到所有包含在一個戰爭檔案中的東西。也許這是不可能的。 – user835745

+0

如果您被限制在一個Tomcat上運行多個應用程序,那麼您應該讓他們讓您將應用程序部署爲根應用程序。 ..但是這可能需要您更改代碼中的URI。 – Mecon

+0

告訴他們我們需要控制ROOT應用程序,因爲現在ROOT dir具有未經授權的代碼(即Tomcat示例)。 – Mecon

相關問題