我需要将“假”子域重定向到IIS 7.5中的真实子域。原因是营销部门不想在打印件中使用实际的网址。
实际网站网址
reporting.usapartners.com
营销部门希望 report.usapartners.com(假)到重定向到 reporting.usapartners.com(真实)
同样,report.usapartners.com不存在,只有reporting.usapartners.com存在
以下是我尝试的内容
我在IIS中添加了一个绑定,用于站点reporting.usapartners.com。我添加了report.usapartners.com作为主机名,并使用了reporting.usapartners.com IP地址
然后我进入reporting.usapartners.com web.config并添加了这个:
<rewrite>
<rules>
<rule name="report" stopProcessing="true">
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="report.usapartners.com" negate="false" />
</conditions>
<action type="Redirect" url="http://reporting.usapartners.com" appendQueryString="false" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
看起来我的解决方案创建了一个无法重定向到的别名。
我是否正确地解决了这个问题?似乎它应该是一个简单的问题要解决,但也许不是?任何想法都受到欢迎和赞赏。
由于
答案 0 :(得分:7)
我认为您需要在IIS中为report.usapartners.com
(虚假网站)创建一个具有主机绑定的单独网站。这将是一个存根站点(它仍然需要磁盘上的路径,但它只有一个web.config
),它只会托管一个重定向规则。
现在点击IIS中该网站的HTTP Redirect
,然后勾选Redirect requests to this destination
并将http://reporting.usapartners.com
放入文本框中。然后勾选Redirect all requests to exact destination (instead of relative to destination)
,不要勾选下一个,然后选择状态代码Permanent (301)
。
如果您希望它重定向并保留子目录和/或查询字符串,则可以将文本框的内容更改为http://reporting.usapartners.com$S$Q
。请注意,在这种情况下没有尾部斜杠。 $S
保留子目录,$Q
保留查询字符串。
答案 1 :(得分:4)
您的规则导致重定向循环。
观察您的规则:
因此,如您所见,只要用户被重定向到报告子域,就会再次将其重定向到报告,因为主机名不是&#34; report.usapartners.com&#34;。
<击>
这里的关键是规则条件的negate="true"
属性。删除它或将其设置为false,你很高兴。
击>
修改强>
你快到了。
真正的解决方案是将规则上的主机名更改为所需的主机,保持否定为true,这样您的规则就可以了:
代码:
...
<add input="{HTTP_HOST}" pattern="reporting.usapartners.com" negate="true" />
...