配置 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"這就是它不起作用的原因。

該規則匹配所有內容,但條件會阻止所有內容,因此不會重定向任何內容。

僅當您確實需要條件來進一步限制與規則相符的請求時才使用條件。

相關內容