Konfigurieren des IIS-Rewrite-Moduls zum Umleiten eines beliebigen Hostnamens auf einen bestimmten Hostnamen

Konfigurieren des IIS-Rewrite-Moduls zum Umleiten eines beliebigen Hostnamens auf einen bestimmten Hostnamen

Ich habe eine Website, deren Namen ich von example.com in newexample.com ändere. Mein Gedanke dabei (bitte kommentieren Sie dies auch, da mein Ansatz falsch sein kann) war, eine permanente Umleitung von http:(s):// zu konfigurieren..beispiel.com/(Ich verwende nicht '' im wörtlichen Regex-Sinne hier) zuhttps://www.newexample.com/.

Im Abschnitt „Regeln zum Umschreiben“ habe ich den folgenden Ansatz gewählt:

<rewrite>
  <rules>
    <rule name="Redirect to newexample.com">
      <match url=".*" />
      <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_HOST}" pattern=".*" negate="true" />
      </conditions>
      <action type="Redirect" url="https://www.newexample.com/{R:0}" redirectType="Permanent"/>
    </rule>
  </rules>
</rewrite>

So wie ich die obigen Regeln verstehe, wird JEDER Hostname umgeleitet zu "https://www.newexample.com/wasauchimmer", alle anderen Aspekte der angeforderten URL bleiben wie sie sind, aber ich werde mit keiner der Kombinationen, die ich bisher ausprobiert habe, umgeleitet.

Antwort1

Entfernen Sie den gesamten conditionsKnoten aus Ihrer Regel.

Sie haben in der Bedingung dasselbe Muster wie in der Regel, was sie überflüssig macht, mit Ausnahme des negate="true"Attributs, das der Grund ist, warum es nicht funktioniert hat.

Die Regel trifft auf alles zu, doch dann blockiert die Bedingung alles, sodass nichts umgeleitet wird.

Verwenden Sie Bedingungen nur, wenn Sie sie wirklich brauchen, um die mit der Regel übereinstimmenden Anfragen weiter einzuschränken.

verwandte Informationen