我正在尝试使用tuckey URL重写器和java来重定向具有特定请求参数的所有URL。例如,我想转换以下所有内容:
首先是tuckey url重写最好的方法来解决这个问题?使用tuckey,我设法匹配URL,例如... co / refcode = 1234(没有?)使用类似的东西:
<rule>
<note>Remove agent ID from URL without query parameters</note>
<from>^/.*refcode=.*$</from>
<to type="redirect">/redirect.do</to>
</rule>
但我似乎无法编写一个与之匹配的正则表达式?同样。我试过逃避? (使用\?)我也尝试使用[?]的正则表达式,但没有运气。所以沿着这些方向的东西似乎不起作用:
<rule>
<note>Remove agent ID from URL without query parameters</note>
<from>^/[?]agentId=.*$</from>
<to type="redirect">/bank.do</to>
</rule>
OR
<rule>
<note>Remove agent ID from URL without query parameters</note>
<from>^/\?agentId=.*$</from>
<to type="redirect">/bank.do</to>
</rule>
如果有人能告诉我如何编写正确的正则表达式以匹配此网址,我将非常感激
答案 0 :(得分:0)
\?是逃脱的正确方法?,我会避免在最后使用$。
<from>^/\?refcode=(\d+)</from>
您也可以使用CONDITION标记
<condition type="query-string">refcode=(\d+)</condition>
<from>/</from>