如何使用iis重写?
我想实现对www.aaa.com:53000的访问,重写为www.bbb.com:44000。 但我是根据文件制定规则的如何使用iis重写?,iis,url-rewriting,Iis,Url Rewriting,我想实现对www.aaa.com:53000的访问,重写为www.bbb.com:44000。 但我是根据文件制定规则的 <rule name="rewrite www.aaa.com" stopProcessing="true"> <match url="^(.*)" negate="false" /> <conditions> <add input="{HTTP_HOST}" pattern="www
<rule name="rewrite www.aaa.com" stopProcessing="true">
<match url="^(.*)" negate="false" />
<conditions>
<add input="{HTTP_HOST}" pattern="www.aaa.com" />
<add input="{SERVER_PORT}" pattern="53000" />
</conditions>
<action type="Rewrite" url="www.bbb.com:44000" logRewrittenUrl="false" />
</rule>
然后,所有静态文件路径都报告错误404。
我不确定我应该那样使用它
您可以使用反向代理规则模板创建如下规则:
<rule name="ReverseProxyInboundRule2" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{CACHE_URL}" pattern="^(https?)://" />
</conditions>
<action type="Rewrite" url="{C:1}://www.bbb.com:44000/{R:1}" />
</rule>
我已经解决了这个问题,但我发现它只是替换了域名,而不是端口。实际地址是www.bbb.com:53000。为什么?这不再是一个简单的重写,所以您需要配置一个完整的反向代理,谢谢,我已经根据文档设置了代理,但是在项目中获取Request.QueryString时,参数会重复。例如:Request.QueryString={id=3035&dt=637223740906838254},在反向代理请求之后。QueryString=QueryString={id=3035&id=3035&dt=637223742774554116&dt=637223742774554116},那么我还需要设置什么吗?我发现了问题,我正在使用{Request_URI}/>,将{Request_URI}替换为{R:1}解决了这个问题。我想知道为什么?@AidenYan您可以将您的解决方案作为答案发布,并在帖子上标记。它将帮助其他面临类似问题的人。