PHP中获取当前访问的URL地址的方法(换域名引流量)

  •   
  • 4081
  • PHP
  • 5
  • super_dodo
  • 2014/11/19

最近在迁移一个站。也就是换了一个域名(www.dodobook.cc--->www.dodobook.net)。这样是很不好的一件事。但是迫不得已。对于收录什么的影响巨大。为了想办法把原先的访问量转移到新的域名,出此下策,也许对seo没什么好处。但是希望能简单的带来一些用户也好。我的笨拙的策略是在文件公共的头部,去判断访问的搜索引擎来的URL直接window.location 跳转。那么问题来了,如何在PHP中获取当前访问的URL地址的方法呢?直接上代码:

//方法1.dedecms也是用的这个(推荐函数:)
function GetCurUrl() { 
	if(!empty($_SERVER["REQUEST_URI"])) { 
		$scriptName = $_SERVER["REQUEST_URI"]; 
		$nowurl = $scriptName; 
	}else{ 
		$scriptName = $_SERVER["PHP_SELF"]; 
		if(empty($_SERVER["QUERY_STRING"])){ 
			$nowurl = $scriptName; 
		}else{ 
			$nowurl = $scriptName."?".$_SERVER["QUERY_STRING"]; 
		} 
	}
	return $nowurl; 
}
echo GetCurUrl();
echo '<hr>';


//方法2
$url = $_SERVER['PHP_SELF']; 
$filename= substr( $url , strrpos($url , '/')+1 ); 
echo $filename; 
echo '<hr>';


//方法3
$url = $_SERVER['PHP_SELF']; 
$arr = explode( '/' , $url ); 
$filename= $arr[count($arr)-1]; 
echo $filename; 
echo '<hr>';


//方法4
$url = $_SERVER['PHP_SELF']; 
$filename = end(explode('/',$url)); 
echo $filename; 
echo '<hr>';


//方法5(不推荐此方法)
//$HTTP_SERVER_VARS是为了兼容以前的版本,
//$HTTP_SERVER_VARS不是自动全局变量他输出的内容需要把php.ini中的register_long_arrays设置为开启状态
//而$_SERVER则不受配置文件的设置影响。
$url=$HTTP_SERVER_VARS['REQUEST_URI']; 
echo $url;
echo(str_replace('/','',$url));
echo '<hr>';

别人笑我太疯癫,我笑他人看不穿;不见五陵豪杰墓,无花无酒锄作田。