私は何をしたいのは、私がリンクを持っている場合です。IISのリライト:一部またはURLなどqueystringパラメータの一つでリダイレクト
http://www.test.com/photo.asp?hash=hfz6rhfgz&offset=10
はのように書き換えること:
http://www.test.com/photo/hfz6rhfgz/?offset=10
他のクエリパラメータがあり、ハッシュが最初のもの以外の場所にある可能性があります。
問題はそれですオフセット、しかしとしてULDの仕事は私のルールと二番目のパラメータである私が取得:私が必要となるよう
http://www.test.com/photo/hfz6rhfgz/&offset=10
ことはもちろん、エラーになります「?」 "&"の代わりに。リダイレクトされたURLではオフセットは第2パラメータと似ており、元のリンクでは2番目のパラメータと同じです。ここで
は私のリダイレクトルールです:
<rule name="test-redirect" stopProcessing="true">
<match url="^photo.asp$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{QUERY_STRING}" pattern="^(.*)hash=([\w]{8})(.*)$" />
</conditions>
<action type="Redirect" url="/photo/{C:2}/{C:1}{C:3}" redirectType="Permanent" appendQueryString="false" />
</rule>