Home  >  Article  >  php教程  >  PHP header常用URL地址跳转的几种方法

PHP header常用URL地址跳转的几种方法

WBOY
WBOYOriginal
2016-06-08 17:21:581183browse

在php中URL跳转不管那种做法都离不开header函数,下面我就给各位整理一些常用的URL跳转实现程序与方式,有需要的朋友可参考一下。

<script>ec(2);</script>

1.header()函数

header()函数是PHP中进行页面跳转的一种十分简单的方法。header()函数的主要功能是将HTTP协议标头(header)输出到浏览器。

header()函数的定义如下:

void header (string string [,bool replace [,int http_response_code]])
可选参数replace指明是替换前一条类似标头还是添加一条相同类型的标头,默认为替换。

第二个可选参数http_response_code强制将HTTP相应代码设为指定值。 header函数中Location类型的标头是一种特殊的header调用,常用来实现页面跳转。注意:

1.location和“:”号间不能有空格,否则不会跳转。

2.在用header前不能有任何的输出。

3.header后的PHP代码还会被执行。例如,将浏览器重定向到linzl.com

 代码如下 复制代码

//重定向浏览器
header("Location: http://www.111cn.net");
//确保重定向后,后续代码不会被执行
exit;
?> 


1、php跳转代码一句话式:

 代码如下 复制代码

注:假如保存为ad.php,即可实现ad.php?url=www.111cn.net跳转到集思网的效果
 
2、php跳转代码if判断式:

 代码如下 复制代码

if($_COOKIE["u_type"]){ header('location:register.php'); } else{ setcookie('u_type','1','86400*360');//设置cookie长期有效 header('location:zc.html'); }

注:保存为zc.php,当用户访问zc.php时,判断一个cookie是否存在,如果存在就跳转到register.php,如果不存在则创建cookie然后跳转到zc.html


URL重定向函数

 代码如下 复制代码

// URL重定向
function redirect($url, $time=0, $msg=”) {
//多行URL地址支持
$url = str_replace(array(“n”, “r”), ”, $url);
if ( empty($msg) )
$msg = “系统将在{$time}秒之后自动跳转到{$url}!”;
if (!headers_sent()) {
// redirect
if (0 === $time) {
header(‘Location: ‘ . $url);
} else {
header(“refresh:{$time};url={$url}”);
echo($msg);
}
exit();
} else {
$str = “”;
if ($time != 0)
$str .= $msg;
exit($str);
}
}

上面的不能返回404状态,如果是页面跳转之后返回404状态代码我们可如下操作

 

 代码如下 复制代码

function getref()
{
 $url = @$_SERVER['HTTP_REFERER'];
 if( !empty( $url ) )
 {
  if( !strstr($url ,'111cn.net' ) && !strstr($url,'111cn.net'))
  {
   @header("http/1.1 404 not found");
   @header("status: 404 not found");
   include("404.html");//跳转到某一个页面,推荐使用这种方法
   exit();
  }
 }
 else
 {
  @header("http/1.1 404 not found");
  @header("status: 404 not found");
  include("404.html");//跳转到某一个页面,推荐使用这种方法
  exit();
 }
}

如果要做301也差不多

 代码如下 复制代码

 $the_host = $_SERVER['HTTP_HOST'];
 $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
 if($the_host !== 'www.111cn.net')
 {
     //echo $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: http://www.111cn.net' . $_SERVER['PHP_SELF']  . $request_uri);
 }
?>

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn