IIS重写规则以强制执行HTTPS和几个规范域之一

时间:2018-04-07 00:03:56

标签: iis http-redirect url-rewrite-module

我照看的网站有多个规范域名 - 例如

example.com
example.com.au
example.co.nz

以及其他一些'需要重定向到其中一个规范域的域名(例如example.us应该转到example.com)。

应通过HTTPS访问所有网站

是否可以为每个标准域编写简明规则,将用户重定向到该域iff

  • 他们不在标准领域(例如www.example.comexample.us)或
  • 连接不是HTTPS

我想我可以看到如何通过多种规则来实现它,但它会很快变得繁琐(因此简洁的规则会更好)

1 个答案:

答案 0 :(得分:0)

我通过以下方式实现了它(将多个变量推入带有input分隔符的#中:

<rule name="Redirect to example.co.nz" enabled="true" stopProcessing="true">
  <match url="(.*)" />
  <conditions  logicalGrouping="MatchAll">
    <add input="{HTTPS}#{HTTP_HOST}" pattern="(^OFF)|(^.*#www\.)" />
    <add input="{HTTP_HOST}" pattern="^(www\.)?example.co.nz$" />
  </conditions>
  <action type="Redirect" url="https://example.co.nz/{R:1}" />
</rule>