我需要有关 .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]
Thanks
您可以在此处获取用户代理列表: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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)