使用 IIS URL 从 HTTPS 重写到另一个 HTTPS

本文关键字:HTTPS 重写 另一个 IIS URL 使用 | 更新日期: 2023-09-27 18:36:36

我正在尝试将我的网站从https://localhost重定向(但使用 ip 编写,如 https://10.0.7.8 )重定向到另一个 https 位置,如https://mysite.com

我目前的配置是:

<rewrite>
  <rules>
    <rule name="Rewrite to mysite.com" enabled="true" stopProcessing="true">
      <match url="(.*)" />
      <action type="Redirect" url="https://mysite.com/{R:0}" redirectType="Permanent" />
      <conditions logicalGrouping="MatchAll">
        <add input="{HTTP_HOST}" pattern="https://10.0.7.8*" />
      </conditions>
     </rule>
  </rules>
</rewrite>

当我访问https://10.0.7.8它不会去https://mysite.com,它会保持https://10.0.7.8

知道我做错了什么吗?

使用 IIS URL 从 HTTPS 重写到另一个 HTTPS

您需要在 2 种情况下将https部分与 ip 分开:

<rewrite>
  <rules>
    <rule name="Rewrite to mysite.com" enabled="true" stopProcessing="true">
      <match url="(.*)" />
      <conditions logicalGrouping="MatchAll">
        <add input="{HTTP_HOST}" pattern="^10'.0'.7'.8$" />
        <add input="{HTTPS}" pattern="^ON$" />
      </conditions>
      <action type="Redirect" url="https://mysite.com/{R:0}" redirectType="Permanent" />
     </rule>
  </rules>
</rewrite>

此外,10.0.7.8需要写10'.0'.7'.8,因为.需要转义,因为它是一个特殊字符。