使用.htaccess过滤用户代理的正确方法

时间:2017-10-26 15:56:23

标签: apache .htaccess

我已经看到了根据字符串名称的一部分过滤用户代理的两种方法:

RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*EventMachine.*$ [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*NerdyBot.*$ [NC]
RewriteRule ^.* - [F,L]

RewriteCond %{HTTP_USER_AGENT} .*EventMachine.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} .*NerdyBot.* [NC]
RewriteRule ^.* - [F,L]

显然,两者都有相同的结果,但其中哪一个是正确的?

1 个答案:

答案 0 :(得分:1)

  

两者都有相同的结果

不,他们没有。

一个匹配一个省略的值,EventMachine和NerdyBot。

其他只匹配EventMachine和NerdyBot

  

其中一个是正确的?

这取决于你想要的行为。