Sli*_*nky 8 http-redirect iis-7.5 url-redirection
我需要将"假"子域重定向到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>
Run Code Online (Sandbox Code Playgroud)
看起来我的解决方案创建了一个无法重定向到的别名.
我是否正确地解决了这个问题?似乎它应该是一个简单的问题要解决,但也许不是?任何想法都受到欢迎和赞赏.
谢谢
我认为您需要report.usapartners.com在IIS中为(虚假站点)创建一个具有主机绑定的单独站点.这将是一个存根站点(它仍然需要磁盘上的路径,但它只会有一个web.config在那里),它将只托管一个重定向规则.
现在单击HTTP RedirectIIS中的该站点并勾选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蜜饯的查询字符串.
您的规则导致重定向循环。
观察你的规则做了什么:
因此,如您所见,一旦用户被重定向到报告子域,它就会再次被重定向到报告,因为主机名不是“report.usapartners.com”。
这里的关键是negate="true"规则条件上的属性。删除它或将其设置为 false 就可以了。
编辑:
你快到了。
真正的解决方案是将规则上的主机名更改为所需的主机,保持否定为真,因此您的规则将执行以下操作:
代码:
...
<add input="{HTTP_HOST}" pattern="reporting.usapartners.com" negate="true" />
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10400 次 |
| 最近记录: |