htaccess阻止所有机器人和所有IP,除了

时间:2014-08-21 03:54:55

标签: apache .htaccess mod-rewrite

我想重定向除我的所有IP地址(1.2.3.4) 和 我想重定向所有机器人,但Googlebot,googlebotimage,googlebotmobile,MSNBOT,Slurp。

<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !=1.2.3.4 [OR]
RewriteCond %{HTTP_USER_AGENT} !=^Googlebot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !=^googlebotimage [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !=^googlebotmobile [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !=^MSNBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !=^Slurp [NC]
RewriteRule ^(.*)$ http://www.othersite.com/ [R=301,L]
</IfModule>

我担心的是,我的代码会阻止Googlebots吗?

1 个答案:

答案 0 :(得分:0)

如果您正在使用!=运算符,则无法使用正则表达式模式,因为它需要是固定字符串。

将您的规则更改为:

<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !=1.2.3.4 [OR]
RewriteCond %{HTTP_USER_AGENT} !^(Googlebot|googlebotimage|googlebotmobile|MSNBot|Slurp) [NC]
RewriteRule ^ http://www.othersite.com/ [R=301,L]
</IfModule>