Согласно вашему коду iis rewirte, я обнаружил, что в части URL совпадения есть проблема.
Эта часть может соответствовать только [download / DownloadFile], а не строке запроса.
Если мы хотим проверить идентификатор строки запроса, мы должны использовать условие перезаписи URL.
Подробнее, вы можете обратиться к правилу перезаписи URL ниже.
<rule name="File" stopProcessing="true">
<match url="download/DownloadFile" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="id=138999" />
<add input="{HTTP_HOST}" pattern="^site.be$" />
</conditions>
<action type="Redirect" url="https://site.be/download/DownloadFile?id=138111" appendQueryString="false" />
</rule>
Или
<rule name="File" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="sitebe" />
<add input="{REQUEST_URI}" pattern="download/DownloadFile\?id=138999" />
</conditions>
<action type="Redirect" url="https://site.be/download/DownloadFile?id=138111" appendQueryString="false" />
</rule>