我有一个重写,设置为处理多个不同的用户代理,我希望能够匹配我们的任何规则.但是,任何与其中一个匹配的URL也必须与另一个规则(IP地址)匹配.但是,我找不到任何关于如何执行此操作的文档.任何人都可以就我如何做到这一点提出任何建议吗?
下面是我想要实现的一个例子.我知道这会失败,因为条件节点已被多次声明.
因此,实质上它是一个重定向,当任何{HTTP_USER_AGENT}规则和任何{REMOTE_ADDR}规则匹配时.
<rule name="Mobile UA redirect" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAny"> <!-- Any of these can be matched --> <add input="{HTTP_USER_AGENT}" pattern="Android" /> <add input="{HTTP_USER_AGENT}" pattern="BlackBerry" /> <!-- ... more user agents... --> </conditions> <!-- Here,similarly,any one of these rules can be matched,but one of the rules above must also match one of the rules below. --> <conditions logicalGrouping="MatchAny"> <add input="{REMOTE_ADDR}" pattern="127.0.0.1" /> <add input="{REMOTE_ADDR}" pattern="192.168.0.1" /> </conditions> <action type="Redirect" url="http://mob.mydomain.com/{R:0}" appendQueryString="true" /> </rule>
任何有关如何做到这一点的帮助将不胜感激!
解决方法
如下所示smth如何放在底部:
<rule name="MobileRestricted" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAll"> <add input="{REMOTE_ADDR}" pattern="127.0.0.1" negate="true" /> <add input="{REMOTE_ADDR}" pattern="192.168.0.1" negate="true" /> </conditions> <action type="None"/> </rule> <rule name="Mobile UA redirect" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAny"> <!-- Any of these can be matched --> <add input="{HTTP_USER_AGENT}" pattern="Android" /> <add input="{HTTP_USER_AGENT}" pattern="BlackBerry" /> <!-- ... more user agents... --> </conditions> <action type="Redirect" url="http://mob.mydomain.com/{R:0}" appendQueryString="true" /> </rule>
没有一个规则,但不超过两个)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。