加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 基于多个(但不是全部)条件的IIS重定向规则

发布时间:2020-12-16 09:38:20 所属栏目:asp.Net 来源:网络整理
导读:我有一个重写,设置为处理多个不同的用户代理,我希望能够匹配我们的任何规则.但是,任何与其中一个匹配的URL也必须与另一个规则(IP地址)匹配.但是,我找不到任何关于如何执行此操作的文档.任何人都可以就我如何做到这一点提出任何建议吗? 下面是我想要实现的一
我有一个重写,设置为处理多个不同的用户代理,我希望能够匹配我们的任何规则.但是,任何与其中一个匹配的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>

没有一个规则,但不超过两个)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读