IIS URL重写以重定向域的所有请求

时间:2018-06-20 18:48:24

标签: iis-8 url-rewrite-module

我有一个Web服务器,该服务器托管运行IIS 8.5的多个域。这些域之一将消失,需要重定向到服务器上另一个域的根。我在下面创建了规则,只要没有路径,它就可以正常工作。如果存在路径,它将附加该路径并导致404错误。我想忽略路径,而只重定向到www.DomainB.com。我认为只有在我将http://www.DomainB.com/ {R:1}用作重定向URL的情况下才会包含路径,但事实并非如此。我在哪里错了?

    <rule name="Redirect DomainA.com">
    <match url=".*" />
    <conditions>
    <add input="{HTTP_HOST}" pattern="^.*DomainA.com$" />
    </conditions>
    <action type="Redirect" url="http://www.DomainB.com/" redirectType="Found"/>
    </rule>

1 个答案:

答案 0 :(得分:0)

我知道了。以上实际上是好的。这是DomainB的另一条规则,一个规则是将www重定向到非www,这引起了问题。它没有条件DomainB,而是一个匹配任何www的reg表达式,并且该规则上确实带有{R:1},因此在DomainA.com规则处理之后,该规则实际上是在该路径后附加路径。在将规则指定为DomainB之后,上面的Redirect DomainA.com规则照常工作