2012-03-09 5 views
0

У меня есть код для: http://dominename:port/first/1/second/2/third/3 и хочу переписать на http://dominename:port/first=1/second=2/third=3. Я могу добраться до первого и получить 1. Но для двух и трех, как я могу это получить?URL tuckey - строка запроса

ниже мой код, чтобы получить первый:

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

Спасибо!

+0

Если вы хотели бы получить ответили, то вам нужно добавить больше информации. Например, на каком языке это или это настройка для оснастки/службы? –

+0

Мы используем Spring Framework и java и tucky URL rewrite. – sam

ответ

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

спасибо за ответ. есть ли способ делать правила отдельно? как сделать первое как правило 1 и сохранить его в переменной и искать второе и применить правило. благодаря! – sam

+0

Я не уверен, что вы хотите сделать, но tucky URL не является языком программирования, поэтому я думаю, что ответ: нет. В любом случае взгляните на его документацию. – Ralph

+0

Спасибо, Ральф! Ваш ответ помог мне исправить мою проблему. Спасибо за понимание. – sam

Смежные вопросы