零基础建站培训介绍

当前位置:

PHP如何判断百度、谷歌蜘蛛跳转其它网页

网站制作好后,某些特殊原因,我们想让网站的某些页面进行特殊的跳转,例如如果是百度或者谷歌的搜索引擎蜘蛛就进行跳转到指定网页。这种跳转可以通过PHP来实现。

代码一:判断百度搜索引擎蜘蛛,执行跳转


<?php
if (ereg("http://www.baidu.com/search/spider.htm", $_SERVER["HTTP_USER_AGENT"])){
//判断搜索引擎,执行跳转,这里判断的是百度。
$file = file_get_contents('https://www.xuewangzhan.net/');
echo $file;//提供给百度蜘蛛抓取的页面,也就是快照。
exit;
}
?>

代码二:判断谷歌搜索引擎蜘蛛,执行跳转


<?php
if (ereg("google.com", $_SERVER["HTTP_USER_AGENT"])){
//判断搜索引擎,执行跳转,这里判断的是谷歌。
$file = file_get_contents('https://www.xuewangzhan.net/');
echo $file;//提供给谷歌蜘蛛抓取的页面,也就是快照。
exit;
}
?>

代码三:判断如果用户来自百度搜索,执行跳转


<?php
//判断如果用户来自百度搜索,那么跳转
if(stristr ($_SERVER['HTTP_REFERER'],"baidu.com")){
Header("Location: https://www.xuewangzhan.net/");//指定跳转
exit;
}
?>

代码四:php获取从百度搜索进入网站的关键词代码


<?php
function search_word_from() {
$referer = isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'';
if(strstr( $referer, 'baidu.com')){ //百度
preg_match( "|baidu.+wo?r?d=([^\\&]*)|is", $referer, $tmp );
$keyword = urldecode( $tmp[1] );
$from = 'baidu';
}elseif(strstr( $referer, 'google.com') or strstr( $referer, 'google.cn')){ //谷歌
preg_match( "|google.+q=([^\\&]*)|is", $referer, $tmp );
$keyword = urldecode( $tmp[1] );
$from = 'google';
}elseif(strstr( $referer, 'so.com')){ //360搜索
preg_match( "|so.+q=([^\\&]*)|is", $referer, $tmp );
$keyword = urldecode( $tmp[1] );
$from = '360';
}elseif(strstr( $referer, 'sogou.com')){ //搜狗
preg_match( "|sogou.com.+query=([^\\&]*)|is", $referer, $tmp );
$keyword = urldecode( $tmp[1] );
$from = 'sogou';
}elseif(strstr( $referer, 'soso.com')){ //搜搜
preg_match( "|soso.com.+w=([^\\&]*)|is", $referer, $tmp );
$keyword = urldecode( $tmp[1] );
$from = 'soso';
}else {
$keyword ='';
$from = '';
}

return array('keyword'=>$keyword,'from'=>$from);
}

//以下为测试
//在搜索引擎搜索个关键词,进入网站
$word = search_word_from();
if(!empty($word['keyword'])){
echo '关键字:'.$word['keyword'].' 来自:'.$word['from'];
}
?>
上一课: 下一课:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关教程

  • PHP dirname(__FILE__)什么意思__FILE__表示当前所在文件的绝对路径包括文件名,dirname(__FILE__)表示当前文件的绝对路径,basename(__FILE__)表
  • 方法一如何创建一个PHP数组$arr=array('one','two','three');如何输出PHP数组foreach($arr as $a){echo $a;}
  • 有一些工具类网站,会使用PHP语言制作一些工具,例如去重复的工具,就可以实现在一个数据集中去除另一个数据集里的元素。它的原理就是利用PHP从一个数
  • 如何将一个PHP数组通过foreach循环把数组打印出来,如何将每一个数组的值之间加一个逗号,但最后一个值后面不加逗号呢?这就是通过PHP foreach循环删
  • PHP有点强大的功能,它可以处理各类数据。今天学做网站论坛介绍一下PHP怎么将一组数据保存为TXT文件,这种在有些应用中非常实用。PHP数据保存为TXT文
  • PHP处理数据时,需要过滤一些垃圾数据字符,下面分享一下操作方法。一、过滤掉数据中所有的非英文数据,只保留英文;$str = "Color(50% OFF
  • 在使用PHP处理数据时,往往需要过滤掉数据所有html标签,怎么过滤呢?可以使用PHP strip_tags函数。方法如下:1.strip_tags(剥去字符串中的 HTML 标
  • PHP实现去除重复数据只保留一个的功能可以将一堆包含了大量重复数据的信息进行过滤,只保留唯一的数据。代码如下:<?php// 删除数组中相同元
  • 做网站时,我们经常需要使用PHP给MYSQL插入新数据或者将MYSQL数据库里的数据进行更新。这都需要使用MYSQL语句。这一节学做网站论坛介绍一下PHP给MYSQL
  • 使用PHP开发网站过程中,可以使用for循环将数字赋值给一个数组。然后对这个数组进行调用,或者将数据应用到其它的循环中。下面介绍一下PHP将for循环结