使用 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
知道我做错了什么吗?
您需要在 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
,因为.
需要转义,因为它是一个特殊字符。