'/'のクエリ文字列を分割するPHPリダイレクトスクリプトをIIS7URL書き換え2.0ルールに置き換えることを検討しています。
元のリダイレクトスクリプトのリクエストから情報を抽出するコードは次のとおりです。
list($campaign,$banner,$add_code,$deploy,$opt) = split("/",$_SERVER['QUERY_STRING']);
そして、これが私がそれを置き換えることができると思うものです:
<rule name="MyRule">
<match url="(.*?)/(.*?)/(.*?)/(.*?)/(.*)" />
<action type="Redirect" url="TestRedirectTarget.aspx/?campaign={R:1}&banner={R:2}&add_code={R:3}&deploy={R:4}&opt={R:5}" />
</rule>
一致する正規表現がPHPのstring-split-assiged-to-listロジックと同じ機能であるという点で、私が考えていないことがあるかどうかを尋ねています。スラッシュで区切られたURLが5つを超える場合を処理するために、レイジーマッチングを使用する必要があるという問題を見つけました。結果が同じにならない場合が他にあるのではないかと思います。