phpurl重定向
『壹』 thinkphp內核程序,無法重定向
ThinkPHP redirect 方法
ThinkPHP redirect 方法可以實現頁面的重定向(跳轉)功能。redirect 方法語法如下:
$this->redirect(string url, array params, int delay, string msg)
參數說明:
參數
說明
url 必須,重定向的 URL 表達式。
params 可選,其它URL參數。
delay 可選, 重定向延時,單位為秒。
msg 可選,重定向提示信息。
ThinkPHP redirect 實例
在 Index 模塊 index 方法中,重定向到本模塊的 select 操作:
class IndexAction extends Action{
public function index(){
$this->redirect('select', array('status'=>1), 3, '頁面跳轉中~');
}
}
重定向後得到的 URL 可能為ex.php/Index/select/status/1
由於該方法調用了 U 函數來生成實際的 URL 重定向地址,因此重定向後的 URL 可能因配置不同而有所不同:
隱藏了入口文件 index.php 的
5idev.com/Index/select/status/1
隱藏了入口文件 index.php 且設置了偽靜態的
hom/Index/select/status/1.html
一些常用的 redirect 重定向例子:
// 不延時,直接重定向
$this->redirect('select', array('status'=>1));
// 延時跳轉,但不帶參數,輸出默認提示
$thi www.hbbz08.com s->redirect('select', '', 3);
// 重定向到其他模塊操作
$this->redirect('Public/login');
// 重定向到其他分組
$this->redirect('Admin-Public/login');
提示: 1.當延時跳轉時,必須輸入 params 參數(可以為空),也就是 delay 必須出現在第 3 位上。
2.如果發現跳轉後的 URL 有問題,由於 redirect 方法調用 U 方法來生成跳轉後的地址,這時候可以測試一下 U 方法生成的地址是否正確,再檢查一下系統配置。
3.如果不想使用 U 方法生成跳轉地址,可以直接使用 PHP header 函數或 $this->redirect 的原型函數 redirect(string url, int delay, string msg),注意該 url 是個絕對地址,具體參見 PHP header 函數。
redirect 重定向與 success/error 跳轉的區別
•redirect 是使用的 PHP header 重定向,而 success/error 是使用的 html meta http-equiv='Refresh' 屬性跳轉。
•redirect 無模板頁面,輸出的提示信息是直接在函數內 echo 輸出的,而 success/error 有對應的模板。
•redirect 與 success/error 都可以實現頁面的跳轉,只是 redirect 可以無延時重定向,具體採用哪種視具體情況而定。
『貳』 php使用curl訪問的頁面中,出現重定向時, 如何獲取重定向後的內容
程序沒問題,能得到網頁內容並輸出。
有可能是你的 xxx.php 沒有重定向成功。
如果在Linux下,可以先用
wget http://www.xxx.com/xxx.php
看看有沒有輸出想要的結果。
我用來測試的 xxx.php
<?php
function redirect($url)
{
if(headers_sent()) {
return false;
}
if(substr($url, 0, 4) != 'http') {
$schema = $_SERVER['SERVER_PORT'] == '443' ? 'https' : 'http';
$host = strlen($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'];
$url = "$schema://$host$to";
}
header("HTTP/1.1 301 Moved Permanently");
header("Location: $url");
exit();
}
redirect('http://google.com/');
『叄』 淺談PHP跳轉頁面(重定向)的3種方法
用戶登錄功能時往往需要重定向頁面,那麼在PHP中如何重定向頁面?下面本篇文章給大家介紹三種重定向網頁跳轉頁面的方法。
第一種:利用header()函數進行重定向,這也是我用的較多的。(注意!locationhe和「:」之間不能有空格,否則無作用!)
第二種:利用HTML 頭部中的 meta標簽,定義http-equiv=refresh 和content=」跳轉花費的時間(秒為單位);url=跳轉地址」
或者
第三種:利用javascript進行跳轉
推薦學習:《 PHP視頻教程 》