php常用url地址跳轉有哪些方法?

來源:互聯網
上載者:User
在php中URL跳轉不管那種做法都離不開header函數,下面我就給各位整理一些常用的URL跳轉實現程式與方式,有需要的朋友可參考一下。

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代碼還會被執行。例如,將瀏覽器重新導向到php.cn

< ?php //重新導向瀏覽器 header("Location: http://www.php.cn"); //確保重新導向後,後續代碼不會被執行 exit;?>

1、php跳轉代碼一句話式:

<?php $url = $_GET['url']; Header("Location:$url"); ?>

註:假如儲存為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()) {// redirectif (0 === $time) {header(‘Location: ‘ . $url);} else {header(“refresh:{$time};url={$url}”);echo($msg);}exit();} else {$str = “<meta http-equiv=’Refresh’ content=’{$time};URL={$url}’>”;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(); }}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.