1

UrlRewriteFilterリダイレクトを行うために使用しようとしています。社内クラウド ソリューションを開発するためにサーバーとインフラストラクチャを常に移動しているため、これを多く使用する予定です。

私の問題は、次のようなURLがあることです

https://google.com/web-app/servlet? リクエストパラメータと値

URL特定のパラメーターの値を持つすべての を別のサーバーにリダイレクトする必要があります。

したがって、次のような URL :

https://google.com/administrator/servlet/ej.processOrder?sec=100&geo=appointment&cus=dubai

パラメータに が含まれている場合はcus=dubai、リダイレクトする必要があります

https://hotmail.com/servlet/ej.processOrder?sec=100&geo=appointment&cus=ドバイ

次のことを試しましたが、うまくいかないようです

<urlrewrite use-query-string="true">
    <rule match-type="wildcard">
        <name>Redirect requests to cases</name>
        <description></description>
        <from>/administrator/servlet/**?**</from>
        <to type="redirect" last="true">http://hotmail.com:8080/servlet/$1?&amp;cus=dubai&amp;$2&amp;$3&amp</to>
    </rule> 
</urlrewrite>

助けてくれてありがとう。

4

3 に答える 3

1

条件は、次のように「名前」ではなく「タイプ」でなければなりません。

<condition type="query-string" operator="equal">*cus=dubai*</condition>
于 2015-02-20T21:01:26.483 に答える
1

query-stringを使用して、特定の条件に一致することを確認する必要があります。

私が見ることができるものから、あなたはこのようなものが欲しいでしょう:

<condition name="query-string" operator="equal">*cus=dubai*</condition>

異なるパラメータごとにルールが必要になります。1 つの完全なルールは次のようになります。

<urlrewrite use-query-string="true">

    <rule match-type="wildcard">
        <name>Cus = dubai</name>
        <from>/administrator/servlet/*</from>
        <condition name="query-string" operator="equal">*cus=dubai*</condition>
        <to type="redirect" last="true">https://hotmail.com/servlet/ej.processOrder?sec=100&geo=appointment&cus=dubai</to>
    </rule> 

    <!-- other rules go here -->

</urlrewrite>
于 2013-04-19T17:29:07.217 に答える