IIS重定向仅适用于站点索引

时间:2014-11-07 14:39:24

标签: redirect iis rewrite

我正在使用IIS8并尝试根据以下条件将网站主页重定向到其他网站:

https://mysite.co.uk
http://mysite.co.uk
https://mysite.co.uk/
http://mysite.co.uk/

应该全部重定向到:https://site2.co.uk/

尽管任何资源请求都不应该重定向,因此以下都不是:

https://mysite.co.uk/abc/def
http://mysite.co.uk/abc/def
https://mysite.co.uk/abc/def
http://mysite.co.uk/abc/def

我尝试了很多变化,但到目前为止我没有尝试过任何变化,这是我最新的:

<rule name="Redirect Home Only" stopProcessing="true">
    <match url=".*" />
      <conditions>
          <add input="{REQUEST_URI}" pattern="^(.*)" negate="true" />
      </conditions>
    <action type="Redirect" url="https://site2.co.uk" appendQueryString="false" redirectType="Permanent" />
</rule>

现在我很确定这应该是微不足道的,所以我非常感谢有人把我从痛苦中解脱出来

1 个答案:

答案 0 :(得分:2)

要仅重定向索引网址,请使用以下条件

<add input="{REQUEST_URI}" pattern="^/$" />

对于URL http://mysite.co.uk/abc/def IIS返回以下服务器变量

REQUEST_URI = /abc/def
PATH_INFO   = /abc/def

对于<{p>>之后的网址http://mysite.co.uk/

REQUEST_URI = /
PATH_INFO   = /

所以你也可以使用

<add input="{PATH_INFO}" pattern="^/$" />

有关详细信息,请参阅this