Por padrão, as regras de reconfiguração de URL que usam mapas de reescrita são criadas correspondentes à variável {REQUEST_URI} . Isso inclui a URL + a string de consulta. Isso permite que você corresponda a URLs com parâmetros de string de consulta e os reescreva em outras páginas. Muito útil, mas aparentemente não é o que você quer / precisa.
Você deseja corresponder apenas ao URL, sem a string de consulta. Para alterar isso, você precisa substituir {REQUEST_URI} na condição de {URL} . Então, somente a URL (sem string de consulta) será comparada com o mapa de reescrita. Você pode então adicionar a string de consulta à URL reescrita para que o script executado ainda tenha acesso a ela.
Você acaba com uma regra como:
<rule name="Rewrite rule for MyMap">
<match url=".*" />
<conditions>
<add input="{MyMap:{URL}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}" appendQueryString="true" />
</rule>