2014-04-01 5 views
1

다시 작성 규칙을 사용하여 특정 QueryString 매개 변수의 값이 지정된 값과 같으면 수정하는 방법은 무엇입니까? 이 값을 변경하기 만하고 나머지 URL이나 다른 쿼리 문자열 매개 변수에는 영향을 미치지 않습니다.IIS URL 다시 쓰기 모듈 - Qerystring 매개 변수 값 변경

예 : 매개 변수 ID를 쿼리 문자열 경우 = '123'그때 'ABC'

같은 값을 다시 할 그리고 이것은 URL의 형태에 관계없이 작동합니다 :

http://mysite/page.aspx?ID=**123** should resolve to http://mysite/page.aspx?ID=**abc** 

http://mysite/?ID=**123** should resolve to http://mysite/?ID=**abc** 

http://mysite/page.aspx?name=bob&ID=**123** should resolve to http://mysite/page.aspx?name=bob&ID=**abc** 

http://mysite/page.aspx?name=bob&ID=**123**&age=33 should resolve to http://mysite/page.aspx?name=bob&ID=**abc**&age=33 
+0

http://serverfault.com/questions/372991/iis-url-rewrite-module-query-string-parameters – bdoshi

+0

동일하지 않습니다. 123 값과 같고 URL 나머지 부분을 그대로두고 싶을 때만 abc에 대한 ID 값을 변경할 수 있기를 원합니다. – Stumpy7

답변

2

이 규칙은 당신을 위해 작동합니다.

<rule name="replace query string" stopProcessing="true"> 
    <match url="(.*)" /> 
    <conditions> 
     <add input="{QUERY_STRING}" pattern="(.*)(id=123)(.*)" /> 
    </conditions> 
    <action type="Redirect" url="{R:0}?{C:1}id=abc{C:3}" appendQueryString="false" logRewrittenUrl="true" /> 
</rule> 
+0

@ Stumpy7이 작품을 사용 했나요? – bdoshi

+0

이것이 Stumpy7을 도왔는지 모르겠지만 나는 똑같은 문제를 겪었고 이것이 나를 도왔습니다. 고맙습니다! 나는 이것이 받아 들여진 대답으로 표시되기를 바랍니다. –