Apache禁止指定user_agent

user_agent我们把它叫做浏览器标识,目前主流的浏览器有IE、chrome、Firefox、360、iphone上的Safari、Android手机上的、百度搜索引擎、Google搜索引擎等很多,每一种浏览器都有对应的user_agent。

配置如下:

<IfModule mod_rewrite.c>    

  RewriteEngine on          

  RewriteCond %{HTTP_USER_AGENT} ^.*Firefox/4.0.* [NC,OR]

  RewriteCond %{HTTP_USER_AGENT} ^.*Tomato Bot/1.0.* [NC]

  RewriteRule .* - [F]

</IfModule>

同样是使用rewrite模块来实现限制指定user_agent,在本例中,RewriteRule .*- [F]可以直接禁止访问,rewritecond用user_agent来匹配,*Firefox/4.0*表示,只要user_agent中含有Firefox/4.0就符合条件,其中*表示任意字符,NC表示不区分大小写,OR表示或者,连接下一个条件。假如我现在要把百度的搜索引擎限制掉,可以加一条这样的规则:

 RewriteCond %{HTTP_USER_AGENT} ^.*Baiduspider/2.0.* [NC]

 RewriteRule .* - [F]

[NC,OR]意思是是或者; [NC]意思是并且。