任意のホスト名を特定のホスト名にリダイレクトするように IIS 書き換えモジュールを構成する

任意のホスト名を特定のホスト名にリダイレクトするように IIS 書き換えモジュールを構成する

私はウェブサイトの名前を example.com から newexample.com に変更しています。私の考えは (私のアプローチが間違っているかもしれないので、これについてもコメントしてください)、http:(s):// からの永続的なリダイレクトを構成することです。.example.com/(私は「' を文字通り正規表現の意味で使用してhttps://www.newexample.com/

書き換えルールのセクションでは、次のアプローチを採用しました。

<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>

上記のルールを私が理解しているところによると、任意のホスト名が「https://www.newexample.com/whatever」と入力すると、要求された URL の他のすべての側面はそのまま残りますが、これまで試したどの組み合わせでもリダイレクトされません。

答え1

conditionsルールからノード全体を削除します。

条件とルールには同じパターンがあるため冗長になっていますが、negate="true"属性が機能しなかった理由がこれです。

ルールはすべてに一致しますが、条件によってすべてがブロックされるため、何もリダイレクトされません。

ルールに一致するリクエストをさらに制限するために本当に必要な場合にのみ、条件を使用してください。

関連情報