htaccess 301重定向机器人

Bhe*_*eem 2 .htaccess mod-rewrite redirect rewrite

我需要帮助.httaccess重写规则.我的一个客户说:"一个网站abc.com应该从谷歌,bing和雅虎搜索引擎机器人发送流量(301重定向)到cba.com否则显示index.html(它是一个白页),即如果谷歌机器人爬行abc.com它应该看到重定向到bcd.com而不是真正的内容".

这样可能吗?

RewriteEngine On 
RewriteCond %{HTTP_USER_AGENT} Googlebot [OR]
RewriteCond %{HTTP_USER_AGENT} msnbot [OR]
RewriteCond %{HTTP_USER_AGENT} Slurp
RewriteRule ^(.*)$ http://bcd.com/$1 [L,R=301]
Run Code Online (Sandbox Code Playgroud)

谢谢

Jon*_*Lin 5

您可以在此处获取用户代理列表:http://www.user-agents.org/

但是你应该有所作为.您可以为主机名添加额外的检查:

RewriteEngine On 
RewriteCond %{HTTP_HOST} abc.com$ [NC]
RewriteCond %{HTTP_USER_AGENT} Googlebot [OR]
RewriteCond %{HTTP_USER_AGENT} msnbot [OR]
RewriteCond %{HTTP_USER_AGENT} Slurp
RewriteRule ^(.*)$ http://bcd.com/$1 [L,R=301]
Run Code Online (Sandbox Code Playgroud)

这些规则适用于空白的htaccess文件.这是我的要求:

GET /something HTTP/1.1
Host: abc.com
User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; http://www.google.com/bot.html)  
Run Code Online (Sandbox Code Playgroud)

这是apache的回应:

HTTP/1.1 301 Moved Permanently
Date: Mon, 15 Oct 2012 22:10:55 GMT
Server: Apache
Location: http://bcd.com/something
Content-Length: 289
Content-Type: text/html; charset=iso-8859-1
Run Code Online (Sandbox Code Playgroud)