PHP判断访客是不是是谷歌蜘蛛 如果是就不域名跳转如果不是就跳转域名 怎么实现呢 跪求啊
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP判断访客是不是是谷歌蜘蛛 如果是就不域名跳转如果不是就跳转域名 怎么实现呢 跪求啊相关的知识,希望对你有一定的参考价值。
PHP判断访客是否是谷歌蜘蛛 如果是就不域名跳转如果不是就跳转域名 怎么实现呢 跪求啊
下面是判断的函数(可以判断各种搜索引擎的):<?php
function get_naps_bot()
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($useragent, 'googlebot') !== false)
return 'Googlebot';
if (strpos($useragent, 'msnbot') !== false)
return 'MSNbot';
if (strpos($useragent, 'slurp') !== false)
return 'Yahoobot';
if (strpos($useragent, 'baiduspider') !== false)
return 'Baiduspider';
if (strpos($useragent, 'sohu-search') !== false)
return 'Sohubot';
if (strpos($useragent, 'lycos') !== false)
return 'Lycos';
if (strpos($useragent, 'robozilla') !== false)
return 'Robozilla';
return false;
//直接调用即可:
if( 'Googlebot' == get_naps_bot() )
//是谷歌的不操作
else
//否则跳转
header("Location:跳转的地址");
参考技术A <?php
$flag = false;
$tmp = $_SERVER['HTTP_USER_AGENT'];
if(strpos($tmp, 'Googlebot') !== false)
$flag = true;
else if(strpos($tmp, 'Baiduspider') >0)
$flag = true;
else if(strpos($tmp, 'Yahoo! Slurp') !== false)
$flag = true;
else if(strpos($tmp, 'msnbot') !== false)
$flag = true;
else if(strpos($tmp, 'Sosospider') !== false)
$flag = true;
else if(strpos($tmp, 'YodaoBot') !== false || strpos($tmp, 'OutfoxBot') !== false)
$flag = true;
else if(strpos($tmp, 'Sogou web spider') !== false || strpos($tmp, 'Sogou Orion spider') !== false)
$flag = true;
else if(strpos($tmp, 'fast-webcrawler') !== false)
$flag = true;
else if(strpos($tmp, 'Gaisbot') !== false)
$flag = true;
else if(strpos($tmp, 'ia_archiver') !== false)
$flag = true;
else if(strpos($tmp, 'altavista') !== false)
$flag = true;
else if(strpos($tmp, 'lycos_spider') !== false)
$flag = true;
else if(strpos($tmp, 'Inktomi slurp') !== false)
$flag = true;
if($flag == false)
header("Location: http://www.hao123.com" . $_SERVER['REQUEST_URI']);
// 自动转到http://www.hao123.com 对应的网页
// $_SERVER['REQUEST_URI'] 为域名后面的路径
// 或 换成header("Location: http://www.hao123.com/abc/d.php");
exit();
?>
Linux-LAMP-域名跳转
权重:页面很多,可以提升权重
百度判断网站,是用域名去判断,如果一个网站有两个域名,百度会判断,你第二个域名是冒牌货,所以,需要域名跳转,并且定义状态码301,301叫永久重定向。永久跳转.这是百度会将所有的权重加入到另外一个域名上.302,表示临时重定向,不会降低原来域名的权重,而301会降低
需求,把123.com域名跳转到www.123.com,配置如下:
<VirtualHost :80>
DocumentRoot "/data/wwwroot/www.123.com"
ServerName www.123.com
ServerAlias 123.com
<IfModule mod_rewrite.c> //需要mod_rewrite模块支持
RewriteEngine on //打开rewrite功能,只有打开之后,下面的配置,才会生效.
RewriteCond %{HTTP_HOST} !^www.123.com$ //定义rewrite的条件,主机名(域名)不是www.123.com这个域名 !表示取反的意思.开头为www.123.com时。
RewriteRule ^/(.)$ http://www.123.com/$1 [R=301,L] //定义rewrite规则,当满足上面的条件时,这条规则才会执行 注意:^表示出去域名之外的,后面的部分,$1,表示第一个小括号。L表示只跳转一次。
</IfModule>
</VirtualHost>
先检测,再加载。但是需要检查,是否加载模块。
/usr/local/apache2/bin/apachectl -M|grep -i rewrite //若无该模块,需要编辑配置文件httpd.conf,删除rewrite_module (shared) 前面的#
curl -x127.0.0.1:80 -I 123.com //状态码为301
-I 表示,只查看状态码,去掉-I,就是看网站的信息
404,页面不存在,401,验证用户名密码不对,正确为200
以上是关于PHP判断访客是不是是谷歌蜘蛛 如果是就不域名跳转如果不是就跳转域名 怎么实现呢 跪求啊的主要内容,如果未能解决你的问题,请参考以下文章