重定向搜索引擎?
问题描述:
此代码是否可以用于重定向搜索引擎?重定向搜索引擎?
<?php
function check_if_spider()
{
$spiders = array(
'Googlebot', 'Yammybot', 'Openbot', 'Yahoo', 'Slurp', 'msnbot',
'ia_archiver', 'Lycos', 'Scooter', 'AltaVista', 'Teoma', 'Gigabot',
'Googlebot-Mobile'
);
foreach ($spiders as $spider)
{
if (eregi($spider, $_SERVER['HTTP_USER_AGENT']))
{
return TRUE;
}
}
return FALSE;
}
if (check_if_spider() == 1){
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: http://www.site.com');
exit();
}
?>
答
是的,它会的。但是上面的函数非常不理想(它使用了不推荐的eregi()而不是简单的字符串函数strpos())。另外要小心:蜘蛛机器人不喜欢显示与用户浏览器内容不同的内容。
+0
我想他们会知道这个区别,如果有隐形蜘蛛机器人冒充浏览器,然后将结果与识别为蜘蛛的蜘蛛进行比较...... – FrustratedWithFormsDesigner 2011-05-25 14:49:39
答
以下是我认为:
-
ergei已被弃用:从PHP手册:
此功能已被弃用的PHP 5.3.0的。依靠这个功能是非常不鼓励的。
您的功能
check_if_spider()
返回TRUE/FALSE,但您在外面检查1个,不是非常直观和可读的代码。在您的.htaccess/config中处理搜索引擎机器人
robots.txt
或通过mod_rewrite rules而不是在PHP代码中处理好得多。
你试过了吗?有些浏览器(Konqueror和我认为Opera--可能还有Firefox通过插件)可让您更改用户代理字符串,因此您可以亲自尝试一下,看看会发生什么。 – FrustratedWithFormsDesigner 2011-05-25 14:43:19
不可靠。无论你想要做什么,你都会以错误的方式去做。为什么你想尝试重定向索引机器人? – Quentin 2011-05-25 14:43:41
@韦斯利 - 我们的网站正在转移到一个不同的领域,但是直到我们所有的用户都转移过来 - 我们只想提醒搜索引擎,所以我们的排名提前发生变化。那不是欺骗队友。 – Latox 2011-05-25 14:44:23