重定向搜索引擎?

时间:2011-05-25 14:40:04

标签: php

此代码是否可以重定向搜索引擎?

<?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();
}
?>

2 个答案:

答案 0 :(得分:0)

是的,它会的。但上面的函数非常不理想(它使用弃用的eregi()而不是简单的字符串函数strpos())。另外要小心:当你显示与用户浏览器的内容不同的内容时,蜘蛛机器人不喜欢这种情况。

答案 1 :(得分:0)

以下是我的想法:

    不推荐使用
  • ergei:来自PHP手册:

    自PHP 5.3.0起,此功能已被弃用。非常不鼓励依赖此功能。

  • 您的函数check_if_spider()返回TRUE / FALSE,但您正在检查1个外部,而不是非常直观和可读的代码。

  • 最好在robots.txt中处理搜索引擎机器人,或者在.htaccess / config中通过mod_rewrite rules而不是在PHP代码中处理。