2017-01-23 276 views
0

我正在使用標記mvc:resources在我的spring mvc項目中處理靜態文件。nginx彈簧mvc url重寫

嗯,我想重寫使用搜索引擎優化的URL,如/頁?ID = 1 >>/page/1.html

[春天的context.xml]

<mvc:annotation-driven /> 
<mvc:resources location="/WEB-INF/view/css/" mapping="/css/**" /> 
<mvc:resources location="/WEB-INF/view/images/" mapping="/images/**" /> 
<mvc:resources location="/WEB-INF/view/js/" mapping="/js/**" /> 
<mvc:resources location="/WEB-INF/view/jsp/" mapping="/jsp/**" /> 

[nginx.conf]

rewrite  ^/page/(.*)(.html)$ /page?id=$1 last; 
proxy_pass http://127.0.0.1:8080/project/; 

問題:

所有靜態文件將被添加前綴 ,絕對不能得到正確的文件,

如 '本地主機/ JS/index.js' 成爲 '本地主機/ /js/index.js'

所以,我怎麼能解決這個問題?有什麼建議麼 ?

我一直在使用urlrewritefilter(org.tuckey),並得到了同樣的情況QAQ

回答

0

我相信現在你會發現你的反應,但我會回答那些你以後會是誰尋找同樣的嘗試回答。

location ~ ^/script/(.*)$ { 
         alias /var/lib/tomcat7/webapps/ROOT/assets/js/$1; 
         autoindex off; 
       } 


    location ~ ^/styles/(.*)$ { 
         alias /var/lib/tomcat7/webapps/ROOT/assets/css/$1; 
         autoindex off; 
       } 


    location ~ ^/images/(.*)$ { 
         alias /var/lib/tomcat7/webapps/ROOT/assets/images/$1; 
         autoindex off; 
       } 

以上是在次年春天資源映射的nginx的

<mvc:resources mapping="/images/**" location="/assets/images/"/> 
<mvc:resources mapping="/styles/**" location="/assets/css/"/> 
<mvc:resources mapping="/script/**" location="/assets/js/"/> 

希望相當於這有助於

最好的問候,

+0

多謝兄弟,我已經解決了這個問題) –