Я думаю, что я пытаюсь сделать что-то, что должно быть простым. Я хочу иметь правила перезаписи, который принимает любой входящий запрос, из многих областей, и переписывает его /redirect.aspx?src=original URLПравила перезаписи IIS не передают параметр запроса
Это то, что у меня есть
<rewrite>
<rules>
<rule name="SimpleURL" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{URL}" negate="true" pattern="\.aspx$"/>
</conditions>
<action type="Redirect" url="/Redirect.aspx?src={R:0}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
Он работает за исключением Параметр запроса передается src = без какого-либо значения.
Я сделал изменения, так что сейчас проходит жесткий кодированный значение параметра запроса
I made a change so it is now passing a value for the parameter.
<rewrite>
<rules>
<rule name="SimpleURL" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{URL}" negate="true" pattern="\.aspx$"/>
<add input="{QUERY_STRING}" pattern="src=(.*)" negate="true" />
</conditions>
<action type="Redirect" url="/Redirect.aspx?src=foobar" appendQueryString="true" redirectType="Found" />
</rule>
</rules>
</rewrite>
Если я заменю Foobar с {R: 0}, не передается никакой ценности. введите код здесь. Передано твердое кодированное значение foobar.
Я сделал изменения, так что теперь передавая значение для параметра –
я добавил правило к моему первоначальному ответу. Посмотрите, разрешит ли он вашу проблему. –