我正在尝试实现以下重定向。 https://abc.com至http://www.abc.com
我已经使用了以下重定向规则,这适用于http非www到http www重定向,但它不适用于https非www到http www重定向。
<rule name="HttpsTOHttpRedirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{CACHE_URL}" pattern="^https://abc.com" />
</conditions>
<action type="Redirect" url="http://www.abc.com{REQUEST_URI}" />
请帮帮我。
答案 0 :(得分:0)
您删除www
的规则可能有效,但您可以对其进行优化。
要获得你想要的东西,你需要这两条规则:
<rule name="Redirect to HTTP" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTPS}" pattern="^ON$" />
</conditions>
<action type="Redirect" url="http://{HTTP_HOST}/{R:0}" />
</rule>
<rule name="Add www if missing">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\." negate="true" />
</conditions>
<action type="Redirect" url="http://www.{C:0}/{R:0}" />
</rule>
第一条规则使用http
重定向,如果它是https
请求(使用反向引用保留原始网址:{R:0}
)。
第二条规则在www
缺失时附加{R:0}
(使用2个反向引用保留原始网址:{C:0}
和{{1}})。