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