Это можно сделать с помощью правила перезаписи, если вы хотите, чтобы URL совпадал только с одним знаком вопроса, слишком много, как в вашем примере. Затем вы можете использовать это правило:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Clean extra question mark from query string" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{QUERY_STRING}" pattern="^(.+?)(\?(.+))*$" />
</conditions>
<action type="Rewrite" url="/{URL}?{C:1}&{C:3}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Если вы хотите сопоставить неограниченное количество слишком многих вопросительных знаков, я думаю, вам нужно будет вернуться к поставщику пользовательских перезаписей , как подробно описано в связанной статье. Тогда вы можете получить что-то вроде:
<rule name="Clean extra question mark from query string" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{QUERY_STRING}" pattern="^$" negate="true" />
</conditions>
<action type="Rewrite" url="/{URL}?{ReplaceProvider:{QUERY_STRING}}" appendQueryString="false" />
</rule>