IIS HTTPS无限重定向

时间:2017-05-31 15:05:30

标签: .net redirect iis https

我的webconfig中的HTTPS重定向配置存在问题:

<rewrite>
    <rules>
        <rule name="Redirect to HTTPS" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTP_HOST}" pattern="^domain\.be$" negate="true" />
            <add input="{HTTPS}" pattern="OFF" ignoreCase="true" />
          </conditions>
          <action type="Redirect" url="http://www.domain.be/{R:1}" />
        </rule>
        <rule name="Redirect to WWW" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAny">
            <add input="{HTTP_HOST}" pattern="^domain\.be$" />
          </conditions>
          <action type="Redirect" url="https://www.domain.be/{R:0}" redirectType="Permanent" />
        </rule>
  </rules>
</rewrite>

以下代码适用于:

但不适用于:

  • www.domain.be

当我转到该URL时,我得到无限重定向错误。

任何人都可以在我的web.config中指出我的错误吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

此规则可用于将所有非HTTPS且不是www.domain.be的内容发送到https://www.domain.be/

<rewrite>
    <rules>
        <rule name="redirect to https www" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAny">
            <add input="{HTTP_HOST}" pattern="^www\.domain\.be$" negate="true" />
            <add input="{HTTPS}" pattern="ON" ignoreCase="true" negate="true" />
          </conditions>
          <action type="Redirect" url="https://www.domain.be/{R:0}" />
        </rule>
    </rules>
</rewrite>