2

我需要 .httaccess 重写规则方面的帮助。我的一位客户说:“网站 abc.com 应该仅将来自 google、bing 和 yahoo 搜索引擎机器人的流量(带有 301 重定向)发送到 cba.com,否则显示 index.html(它是一个白页),即如果 Google 机器人正在爬行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]

谢谢

4

1 回答 1

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]

这些规则在一个空白的 htaccess 文件中对我有用。这是我的要求:

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

这是阿帕奇的回应:

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
于 2012-10-15T22:11:44.650 回答