2

tuckey URL リライターと Java を使用して、特定の要求パラメーターですべての URL をリダイレクトしようとしています。たとえば、次のすべてを変換したいと思います。

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

単にhttp://xxx.com/に

まず第一に、tuckey の URL を書き換えることが最善の方法ですか? tuckey を使用して、次のようなものを使用して ...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 に答える