我在 IIS 中有两个 asp.net 站点,api.mydomain.com 和 mobileapi.mydomain.com。并且对api的一些请求应该重写为mobileapi。我无法让它工作。从我的实验来看,我似乎无法用 rewrite 重写 url 的域名部分。如果我更改为重定向一切正常(除了我想要重写而不是重定向)
但是,如果我改为重定向到同一域上的某些内容,假设我将操作 url 交换为/testing/{R:0}
(没有任何域名),那么它会按预期工作并且重写得很好。
我的 web.config
<modules runAllManagedModulesForAllRequests="true">
</modules>
<rewrite>
<rules>
<rule name="Proxy mobile API" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{REQUEST_URI}" pattern="([^/]+)" />
<add input="{StaticRewrites:{C:0}}" pattern="(.+)" />
<add input="{HTTP_HOST}" pattern="^api.mydomain.se$" />
</conditions>
<action type="Rewrite" url="http://mobileapi.mydomain.se/{R:0}" />
</rule>
</rules>
<rewriteMaps>
<rewriteMap name="StaticRewrites">
<add key="mobile" value=" " />
<add key="scripts" value=" " />
</rewriteMap>
</rewriteMaps>
</rewrite>