0

我正在尝试实现以下重定向。 https://abc.comhttp://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}" />

请帮帮我。

4

1 回答 1

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请求进行重定向(使用反向引用来保留原始 url: {R:0})。

第二条规则www在丢失时附加(使用 2 个反向引用来保留原始 url:{R:0}{C:0})。

于 2013-06-05T14:13:52.280 回答