我是IIS Rewrite的新手,需要有人协助我
我正在根据查询字符串值重定向到另一个域。
例如:
请求:
http://localhost:50743/api/Values?stdId=1000&stdName="Test"
http://localhost:50752/api/Values?stdId=1001&stdName="Test1"
http://localhost:50753/api/Values?stdId=1002&stdName="Test2"
http://localhost:50754/api/Values?stdId=1004&stdName="Test4"
我只需要验证查询字符串,然后根据 stdId 值
将请求重定向到不同的域如果 stdId = 1000 请求必须重定向到http://localhost:50743/api/Values?stdId=1000&stdName="Test"
如果必须将 stdId = 1001 请求重定向到 http://localhost:50752/api/Values?stdId=1001&stdName="Test1"
如果必须将 stdId = 1002 请求重定向到 http://localhost:50753/api/Values?stdId=1002&stdName="Test1"
等。
编码我尝试过的内容:
<rewrite>
<rules>
<rule name="Redirect to another service" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{QUERY_STRING}" negate="false" pattern="(stdId=1000)" />
</conditions>
<action type="Redirect" url="http://localhost:50762/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
答案 0 :(得分:0)
您可以使用以下规则根据查询字符串重定向网址:
<rule name="querystring redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{QUERY_STRING}" pattern="stdId=1000" />
</conditions>
<action type="Redirect" url="http://localhost:50743/api/Values?stdId=1000&stdName="Test"" appendQueryString="false" />
</rule>
为每个URL查询字符串参数创建一个规则。 问候, 贾帕。