用正则表达式模式条件重写规则

时间:2020-10-09 18:18:26

标签: asp.net url-rewriting web-config

我试图通过查看请求中的用户代理来阻止BingBot请求。我的web.config中有这个文件:

<rule name="Block BingBot" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
  <match url="*" />
  <conditions>
    <add input="{HTTP_USER_AGENT}" pattern="^.*bingbot.*$" ignoreCase="true" matchType="Pattern" />
  </conditions>
  <action type="AbortRequest" /> 
</rule>

我要删除Bing的搜寻器使用的用户代理字符串列表:

  • Mozilla / 5.0(兼容; bingbot / 2.0; + http://www.bing.com/bingbot.htm)

  • Mozilla / 5.0 AppleWebKit / 537.36(KHTML,如Gecko;兼容; bingbot / 2.0; + http://www.bing.com/bingbot.htm)Chrome / W.X.Y.Z Safari / 537.36 Edg / W.X.Y.Z

  • Mozilla / 5.0(Linux; Android 6.0.1; Nexus 5X Build / MMB29P) AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / W.X.Y.ZMobile Safari / 537.36 Edg / W.X.Y.Z(兼容; bingbot / 2.0; + http://www.bing.com/bingbot.htm)

我认为我的正则表达式看起来不错,因此它应与用户代理字符串中带有“ bingbot”的任何内容匹配。但这是行不通的,通过Postman进行测试仍然允许该用户代理发出任何请求。我已经测试了其他重写规则,并且这些规则都起作用,但是由于某种原因,该规则没有起作用。

我在这里缺少什么吗,我的正则表达式错了吗?

0 个答案:

没有答案