IIS 7.5 URL重写规则来处理基于用户代理的请求
问题描述:
我已经编写了基于用户代理重定向请求的规则。IIS 7.5 URL重写规则来处理基于用户代理的请求
该规则设置为将默认请求(不是移动的)重定向到Domain1
,以及移动设备到移动域的请求Domain2
。
目前即使在应用移动重定向之后,从移动的所有要求都采取Domain1
查找下面的重定向规则。任何人都可以告诉我我错过了什么吗?
<rewrite>
<rules>
<rule name="Mobile UA redirect" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_USER_AGENT}" pattern="^.*BlackBerry.*$ " />
<add input="{HTTP_USER_AGENT}" pattern=".*Mobile.*Safari" />
</conditions>
<action type="Redirect" url="MobileURL" />
</rule>
<rule name="Claritinchallenge to" enabled="true" stopProcessing="true">
<match url="(.*)" />
<action type="Redirect" url="Second Domain" appendQueryString="false" />
<conditions>
</conditions>
</rule>
</rules>
</rewrite>
答
在你Mobile UA redirect
规则,条件逻辑分组是一个默认:MatchAll
我不认为有一个电话HTTP_USER_AGENT
匹配^.*BlackBerry.*$
也将匹配.*Mobile.*Safari
。因此,您需要将逻辑分组更改为MatchAny
。然后
你的规则是:
<rule name="Mobile UA redirect" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_USER_AGENT}" pattern="^.*BlackBerry.*$ " />
<add input="{HTTP_USER_AGENT}" pattern=".*Mobile.*Safari" />
</conditions>
<action type="Redirect" url="MobileURL" />
</rule>
@ b00tbu9好,这是不可思议。你可以试试'MatchAny'吗? – cheesemacfly 2013-04-09 15:31:08
它用'MarchAny'工作 – 2013-04-09 15:39:39