0
好吧我有一個彈簧MVC Web應用程序打包成www-coolapp.war並部署到tomcat服務器。我有一個域名www.coolap.com,我想將所有來自localhost:8080/www-coolapp的請求映射到www.coolap.com。在我的Apache配置我正在使用一個虛擬主機ProxyPass,ServletContext名稱與資源鏈接不能按預期工作
ProxyRequests off
ProxyPreserveHost on
ProxyPass /http://localhost:8080/www-coolapp/
ProxyPassReverse /http://localhost:8080/www-coolapp/
ProxyPassReverseCookiePath /www-coolapp/
這基本上除了工作在資源目錄中的文件以下。在我的Spring上下文我必須配置爲
<mvc:resources mapping="/resources/**" location="/resources/" />
在我的JSP文件的資源,我宣佈使用<c:url>
其預先考慮servlet上下文名稱的網址開頭的鏈接。
<link href="<c:url value="/resources/css/bootstrap.min.css"/>" rel="stylesheet">
<link href="<c:url value="/resources/css/font-awesome.min.css"/>" rel="stylesheet">
部署到服務器,這些翻譯成
<link href="/www-coolapp/resources/css/bootstrap.min.css" rel="stylesheet">
<link href="/www-coolapp/resources/css/font-awesome.min.css" rel="stylesheet">
了基於servlet上下文不呈現在正確的資源,即鏈接到文件(CSS,圖片,JavaScript等)是斷開的鏈接名稱被預先添加到路徑中。
有沒有辦法修改代理設置或重寫url以使其工作而不更改webapp中的所有鏈接?