这似乎是我无法解决的最简单的事情。
我想将URL(如果包含字符串 \ textFlow )重写到其他主机。
http://site1/extFlow/Testsvc/GetData/?val=1
到
http://site2/extFlow/Testsvc/GetData/?val=1
我已尝试过所有规则,例如:
<rules>
<rule name="Reverse Proxy to external" stopProcessing="true">
<match url="extFlow/(.*)" />
<action type="Rewrite" url="http://site2/{R:1}" />
</rule>
</rules>
如果我只是匹配(。*)那么重写就会发生。
我甚至无法匹配* match url =“\ textFlow”
我错过了什么?
答案 0 :(得分:0)
基于您的声明“是的,为了测试目的,我在同一台机器上有两个站点,但在不同的端口上”,我认为这是违反规则的。让我解体并解释它。
观察您的网址中的“extFlow”。
我们假设有一个请求进入
“http://site1/extFlow/Testsvc/GetData/?val=1”。 URL重写规则
被击中并将其重写为
“http://site2/extFlow/Testsvc/GetData/?val=1”。
由于这个新网址也会点击同一台机器,甚至它也有 “extFlow”中,规则将一次又一次地触发 试。
所以间接地你在这里触发一个无限循环。
如果您有任何问题,请与我们联系。