2013-08-19 8 views
6

Sto utilizzando IIS 7 con il modulo di regola di riscrittura ufficiale installato. Mi piacerebbe creare una regola di riscrittura per corrispondere a questo URL:Come aggiungere stringa di query e valore tramite la regola di riscrittura di IIS?

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

Dopo aver riscritto il risultato atteso sarebbe:

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

Come si crea una regola per implementare questo?

Ho provato la seguente regola, ma senza fortuna, è sempre ottenuto Errore loop di reindirizzamento:

<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> 

risposta

17

trovato la soluzione da sola, basta condividerlo.

<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 Mentre puoi accettare la tua risposta, non ti darà alcun punto. –

Problemi correlati