Meine Lösung wären Nutzungsbedingungen dafür. Indem Sie die Bedingungen mit denen vergleichen {QUERY_STRING}
, können Sie Rückverweise verwenden, um sie in der Umleitungs-URL zu verwenden.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Redirect" stopProcessing="true">
<match url="(.*)" />
<conditions trackAllCaptures="true">
<add input="{QUERY_STRING}" pattern="&?(beta=[^&]+)&?" />
<add input="{QUERY_STRING}" pattern="&?(gamma=[^&]+)&?" />
<add input="{REQUEST_URI}" pattern="^/redirect" negate="true" />
</conditions>
<action type="Redirect" url="/redirect?{C:1}&{C:2}" appendQueryString="false" redirectType="Found" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Das einzig mögliche Problem bei dieser Lösung sein könnte (je nachdem , was Sie wollen) , ist , dass die Umleitung nur , wenn beide passieren wird beta
und gamma
Query - String - Variablen vorhanden sind , in dem Query - String. Ist dies nicht der Fall, erfolgt die Umleitung nicht.
Die Umleitungsregel stimmt mit jeder URL überein ( (.*)
). Bei Bedarf können Sie dies ändern. Ich habe auch eine zusätzliche Bedingung hinzugefügt, damit die Regel nicht mit der Umleitungs-URL selbst übereinstimmt, die andernfalls dazu führen würde, dass die Umleitungs-URL selbst umgeleitet wird.