2

我正在尝试使用 tukey URL rewriter 和 java 来重定向具有特定请求参数的所有 URL。因此,例如,我想转换以下所有内容:

http://xxx.com/?refcode=1234

只需http://xxx.com/

首先是 tukey url 重写最好的方法吗?使用 tukey,我已经成功地匹配了诸如 ...co/refcode=1234 (没有?)之类的 URL,使用如下内容:

<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> 

或者

<rule>
    <note>Remove agent ID from URL without query parameters</note>
    <from>^/\?agentId=.*$</from>
    <to type="redirect">/bank.do</to>
</rule> 

如果有人能让我知道如何编写正确的正则表达式以匹配此 URL,我将不胜感激

4

1 回答 1

0

\? 是逃避?的正确方法,我会避免在最后使用 $ 。

<from>^/\?refcode=(\d+)</from>

您也可以使用 CONDITION 标签

<condition type="query-string">refcode=(\d+)</condition>
<from>/</from>
于 2013-01-23T14:38:35.557 回答