2013-08-19 23 views
6

Używam IIS 7 z zainstalowanym oficjalnym modułem przeformułowania. Chciałbym utworzyć regułę przepisywania pasujące do tego adresu URL:Jak dołączyć ciąg zapytania i jego wartość za pomocą reguły przepisywania IIS?

http://www.sample.com/en-us/test.aspx?q=keyword 

Po przepisywanie oczekiwany wynik byłby:

http://www.sample.com/en-us/test.aspx?q=keyword&flag=value 

Jak mogę utworzyć regułę do wdrożenia tego?

Przetestowałem następującą regułę, ale bez powodzenia, to zawsze mam przekierować błąd pętli:

<rewrite> 
    <rules> 
     <rule name="test" stopProcessing="true"> 
      <match url="(.*)/test\.aspx(.(?!flag=value))*$" /> 
      <action type="Redirect" url="{R:0}&amp;flag=value" appendQueryString="false" logRewrittenUrl="true" /> 
     </rule> 
    </rules> 
</rewrite> 

Odpowiedz

17

Znaleziono rozwiązanie przeze mnie, po prostu podzielić się nim.

<rewrite> 
    <rules> 
     <rule name="Redirect for download result page" stopProcessing="true"> 
      <match url="(.*)/test.aspx(.*)" /> 
      <action type="Redirect" url="{R:1}/test.aspx?rf=sp" appendQueryString="true" redirectType="Found" /> 
      <conditions> 
       <add input="{QUERY_STRING}" pattern="flag=value" negate="true" /> 
      </conditions> 
     </rule> 
    </rules> 
</rewrite> 
+0

@AnujKu Chociaż możesz zaakceptować własną odpowiedź, nie dostaniesz żadnych punktów. –