2

元の URL のパスにパラメーターが含まれている別の URL に URL を変更するために、URL 書き換え IIS モジュールを使用しようとしています。

Exp : 元の URL : myurl/specialattribute_123456

希望 URL : myurl?specialattribute=123456

URL 書き換えモジュールを使用し、web.config でこのタグを生成しました:

<rewrite>
    <rules>
    <rule name="RedirectRule1" stopProcessing="true">
         <match url=".*/specialattribute_(.*)/" />
         <action type="Redirect" url="myurl?specialattribute={R:1}" />
                </rule>
     </rules>
     <outboundRules>
          <preConditions>
               <preCondition name="ResponseIsHtml1">
                     <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
               </preCondition>
           </preConditions>
     </outboundRules>
</rewrite>

しかし、それはうまくいきませんでした...助けはありますか?

4

3 に答える 3

0

あなたの問題は、使用しているパターンに属しています。

あなたのルールは一致しませんmyurl/specialattribute_123456が、一致しmyurl/specialattribute_123456/ます。

例のようにパターンを一致させたい場合はmyurl/specialattribute_123456、ルールパターンを次のように変更します (末尾の を削除するだけです/)。

<match url=".*/specialattribute_(.*)" />
于 2013-03-14T16:13:50.287 に答える
0

これを試してください:

<match url="*/specialattribute_*" />
         <action type="Redirect" url="myurl?specialattribute={R:2}" />

UrlRewrite モジュールのルール設定で「ワイルドカード」を使用していることを確認してください。

于 2013-03-14T15:15:04.297 に答える