我尝试了几种不同的选项来重写网址,但我似乎失败了,我不确定是不是因为我要做的事情更复杂或更不...
我目前在我的应用中使用此功能,调用其中任何一个网址,我可以访问我的网页:
http://localhost:8080/myapp/template.jsp?site=mysite1&lng=en&pageToLoad=welcome
这也可能是(注意m - )
http://localhost:8080/myapp/m-template.jsp?site=mysite1&lng=en&pageToLoad=welcome
但是,我想重新编写我的网址,如下所示:
http://localhost:8080/myapp/mysite1/en/welcome
http://localhost:8080/myapp/m/mysite1/en/welcome
我尝试过使用JBoss:
org.jboss.web.rewrite.RewriteValve
现在我正在尝试:
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
但我无法弄清楚我的规则是如何编写的,以便我可以进行此更改,任何建议都会非常感激。
答案 0 :(得分:0)
<rule>
<from>^([/m])([a-z]*)/(en|it)/([a-z]*)(?!.)</from>
<to>/template.jsp?site=$2&lng=$3&pageToLoad=$4</to>
</rule>
<rule>
<from>m/([a-z]*)/(en|it)/([a-z]*)(?!.)</from>
<to>/m-template.jsp?site=$1&lng=$2&pageToLoad=$3</to>
</rule>
<outbound-rule>
<from>([^\r]*)/template\.jsp\?site=([a-z]*)&lng=(en|it)&pageToLoad=([a-z]*)</from>
<to>%{context-path}/$2/$3/$4</to>
</outbound-rule>
<outbound-rule>
<from>([^\r]*)/m-template\.jsp\?site=([a-z]*)&lng=(en|it)&pageToLoad=([a-z]*)</from>
<to>%{context-path}/m/$2/$3/$4</to>
</outbound-rule>
希望这对别人有所帮助。
干杯。