我安装了 ARR 版本 2 并启用了代理设置(64 位版本)。我创建了一个重写规则,如下所示。只有满足特定条件才会重写。它是一个 ASP.NET MVC 应用程序。(当前和重写的应用程序)
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
</modules>
<rewrite>
<rules>
<rule name="Rule1" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{QUERY_STRING}" pattern="input=2" />
</conditions>
<action type="Rewrite" url="SomeOtherDomainURL/{R:1}" logRewrittenUrl="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
使用上述配置重写不起作用。
当我设置它时runAllManagedModulesForAllRequests = "false"
,它可以工作,但当前的 ASP.NET MVC 应用程序不工作,它需要托管处理程序才能运行。
当我设置runAllManagedModulesForAllRequests = "true"
时,重写根本不起作用,但当前的 ASP.NET MVC 应用程序可以工作。
如何仅通过 web.config 更改来实现两者?