这段代码可以重定向搜索引擎吗?
<?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();
}
?>发布于 2011-05-25 22:48:03
是的,它会的。但是上面的函数并不是最优的(它使用了废弃的eregi()而不是简单的字符串函数strpos())。也要小心:蜘蛛机器人不喜欢你显示内容时的情况,这与用户浏览器的内容不同。
发布于 2011-05-25 22:49:54
这是我的想法:
自PHP 5.3.0起,此函数已被弃用。依赖于此功能的是高度discouraged.
check_if_spider()返回TRUE/FALSE,但您在外部检查1,这不是非常直观和可读的代码。
robots.txt中处理搜索引擎机器人,或者通过.htaccess/config中的mod_rewrite rules处理搜索引擎机器人,而不是在PHP代码内部。https://stackoverflow.com/questions/6126221
复制相似问题