我正在尝试将我的网站从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
知道我做错了什么吗?
答案 0 :(得分:2)
您需要在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
,因为.
需要转义,因为它是一个特殊字符。