use*_*498 6 iis url-rewriting url-rewrite-module
我正在尝试在UrlRewrite中配置一个有两个条件的规则:
根据这些信息,我想在后端重定向到不同版本的api.
问题 规则在第一个条件下的行为与预期相同.当HTTP_HOST与api.contoso.com匹配时,它就会启动.但是,它会忽略我的自定义标题"x-app-version".
假设 因此,我担心UrlRewrite条件只能与下拉列表中有限的一组预定义HTTP头一起定义(HTTP_HOST,REMOTE_ADDRESS,REMOTE_HOST,...)
问题 假设是正确的还是应该是可能的?配置或其他方法中的错误是否有基于自定义http头的条件?
<rule name="ARR_test2" enabled="false">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="api.contoso.com" />
<add input="{x-app-version}" pattern="1" />
</conditions>
<action type="Rewrite" url="https://FARM_apiv1/{R:0}" />
</rule>
Run Code Online (Sandbox Code Playgroud)
use*_*498 21
好的,我发现了如何在UrlRewrite条件中使用自定义HTTP标头:
例如:为了检索我的自定义标题"x-app-version",我可以使用"HTTP_x_app_version".所以我的UrlRewrite配置应该是这样的
<rule name="ARR_test2" enabled="false">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="api.contoso.com" />
<add input="{HTTP_x_app_version}" pattern="1" />
</conditions>
<action type="Rewrite" url="https://FARM_apiv1/{R:0}" />
</rule>
Run Code Online (Sandbox Code Playgroud)
实际上在文档中提到的很清楚:https: //msdn.microsoft.com/en-us/library/ms524602(v = vs.90).aspx
| 归档时间: |
|
| 查看次数: |
4829 次 |
| 最近记录: |