我正尝试使用URL重写和应用程序请求路由来重写为外部URL。我已经设置了以下规则:将URL重写为外部URL
<rewrite>
<rules>
<rule name="RewriteExternal" enabled="true" stopProcessing="true">
<match url="patternToMatch/(.*)" />
<action type="Rewrite" url="http://100.100.100.100/{R:1}" appendQueryString="false" logRewrittenUrl="false" />
</rule>
</rules>
</rewrite>
在规则,“patternToMatch”是我想匹配的模式,和100.100.100.100服务器是外部服务器(我们的防火墙之外),这我是试图重写。我已打开日志记录并查看该模式是否匹配,该URL是否被重写,但随后我看到“ARR_WEBFARM_NOT_ROUTED”为100.100.100.100 IP地址。该请求然后被重写回原始请求,并且请求失败。
我明白,我可以将内部服务器添加到Web场的内部重定向,但这不适用于外部服务器。是否可以重写到外部服务器?如果是这样,我该如何避免使用Web场并避免“ARR_WEBFARM_NOT_ROUTED”错误?
感谢您的任何帮助。
现货。我有同样的问题,它确实是MVC拦截重写的URL并提供404!现在增加了忽略和它的工作。尽管如此,URL重写规则是在服务器级别的,所以它永远不应该到站点级别来肯定地评估它。 再次感谢发布这个,排序我的问题 – LDJ