2012-03-09 125 views
0

我有一个例如:http://dominename:port/first/1/second/2/third/3的网址,并且想要重写为 http://dominename:port/first=1/second=2/third=3。我可以先到达并得到1.但是,对于两三个,我怎么能得到它?下面URL查克 - 查询字符串

是我的代码以获得第一:

<rule> 
    <from>^/first/(.*)$</from> 
    <to type="forward">/dominename:port/first=1</to> 
</rule> 

谢谢!

+0

如果你想一个回答,那么你需要添加更多的信息。例如,这是什么语言,或者这是一个框架/服务的设置? – 2012-03-09 23:54:19

+0

我们使用spring框架和java和tucky URL重写。 – sam 2012-03-10 02:50:06

回答

0

您可以通过$1$2访问定期更换表情,...

<rule> 
    <from>^/first/(.*)/second/(.*)/third/(.*)$</from> 
    <to type="forward">/first=$1/second=$2/third=$3</to> 
</rule> 

但是,这是行不通的,因为你不能在URL路径=

那么你可能应该做的是这样的:

<rule> 
    <from>^/first/(.*)/second/(.*)/third/(.*)$</from> 
    <to type="forward">something?first=$1&second=$2&third=$3</to> 
</rule> 
+0

感谢您的回复。有没有办法单独执行规则?就像第一条那样做,并将其存储在变量中,然后搜索第二条规则并应用规则。谢谢! – sam 2012-03-10 14:04:48

+0

我不确定你想要做什么,但tucky URL不是一种编程语言,所以我认为答案是:不。无论如何看看它的doku。 – Ralph 2012-03-11 20:31:49

+0

谢谢,拉尔夫!你的回答帮助我解决了我的问题。感谢您的见解。 – sam 2012-03-22 21:38:38