
Ich hänge bei einer sehr einfachen IIS-Umschreibregel fest. Ich habe eine Reihe von Links mit einem ungültigen Pfad und muss alle Anfragen an diesen Pfad auf einen neuen umleiten.
Hier ist der fehlerhafte Pfad: https://documentation.buzsoftware.com/buzdocs/BuzClubManager/index.cfm?ID=690
Der Abschnitt „buzdocs“ des Pfads existiert nicht mehr und alle Links unter diesem Pfad wurden einen Ordner nach oben in diesen Beispielpfad verschoben (der funktioniert): https://documentation.buzsoftware.com/BuzClubManager/index.cfm?ID=690
<rule name="buzdocs_path_del" stopProcessing="true">
<match url="(.*)/buzdocs(.*)" />
<action type="Rewrite" url="{R:1}{R:2}" appendQueryString="false" />
</rule>
oder
<rule name="buzdocs_path_del" stopProcessing="true">
<match url="https://documentation.buzsoftware.com/buzdocs(.*)" />
<action type="Rewrite" url="https://documentation.buzsoftware.com/{R:1}" appendQueryString="false" />
</rule>
Ich habe viele verschiedene Regex-Muster ausprobiert und jedes Mal, wenn ich den falschen Pfad wähle, erhalte ich eine 404-Fehlermeldung und werde nicht umgeleitet.
Ich bin nicht sicher, ob ich beim Mustervergleich ^ (Zeilenanfang) oder $ (Zeilenende) verwenden muss. Ich habe beides mit demselben Ergebnis versucht.
Nur {R:1} verwenden (erstes Beispiel) oder sowohl {R:1} als auch {R:2} verwenden (zweites Beispiel). Ich bin mir nicht sicher, was der richtige Weg ist. Kommentare zu Best Practices wären hilfreich.
<action type="Rewrite"
Ich bin auch zwischen und hin- und hergesprungen <action type="Redirect"
, ohne dass sich etwas geändert hat.
Diese Links führen zu einer Live-Site. Klicken Sie ruhig darauf. Vielen Dank für jeden Ratschlag. Ich bin mir ziemlich sicher, dass ich etwas Kleines übersehen habe und dafür wahrscheinlich meinen Kopf auf den Tisch hauen werde.