redirectphp
1. php重定向次数过多问题redirect
header()是php自带函数 Redirect()是自定义方法, 你看看是不是因为你没有定义Redirect方法。
2. 浅谈PHP跳转页面(重定向)的3种方法
用户登录功能时往往需要重定向页面,那么在PHP中如何重定向页面?下面本篇文章给大家介绍三种重定向网页跳转页面的方法。
第一种:利用header()函数进行重定向,这也是我用的较多的。(注意!locationhe和“:”之间不能有空格,否则无作用!)
第二种:利用HTML 头部中的 meta标签,定义http-equiv=refresh 和content=”跳转花费的时间(秒为单位);url=跳转地址”
或者
第三种:利用javascript进行跳转
推荐学习:《 PHP视频教程 》
3. thinkphp5 redirect跳转
重定向
hinkController类的redirect方法可以实现页面的重定向功能。
redirect方法的参数用法和Url::build方法的用法一致(参考URL生成部分),例如:
//重定向到News模块的Category操作$this->redirect('News/category', ['cate_id' => 2]);
上面的用法是跳转到News模块的category操作,重定向后会改变当前的URL地址。
或者直接重定向到一个指定的外部URL地址,例如:
//重定向到指定的URL地址 并且使用302$this->redirect('http://thinkphp.cn/blog/2',302);
可以在重定向的时候通过session闪存数据传值,例如
$this->redirect('News/category', ['cate_id' => 2], 302, ['data' => 'hello']);
使用redirect助手函数还可以实现更多的功能,例如可以记住当前的URL后跳转
redirect('News/category')->remember();
需要跳转到上次记住的URL的时候使用:
redirect()->restore();
参考手册:thinkphp重定向
4. php中如何使用_redirect()
首先redirect不是php内置的函数。而是thinkphp框架里的
点击函数可以看到最终是:
header('Location:XXX/');的过滤
使用方法可以查看手则
//跳转到edit操作
$this->redirect('edit');
//跳转到UserAction下的edit操作
$this->redirect('User/edit');
//跳转到Admin分组默认模块默认操作
$this->redirect('Admin/');
5. PHP如何重定向网站首页地址
一、用HTTP头信息
也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
用HTTP头信息进行PHP重定向到另外一个页面的方法如下:
<?php $url = "www..com"; if (!empty($url)) { Header("HTTP/1.1 303 See Other"); //这条语句可以不写 Header("Location: $url"); } ?> 注意一下,"Localtion:"后面有一个空格。
二、用HTML标记PHP重定向
用HTML标记,就是用META的REFRESH标记,举例如下:
<?php if (!empty($url)) { echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=$url\">"; } ?> 三、用脚本来实现PHP重定向
举例如下:
<? if (isset($url)) { echo "<SCRIPT LANGUAGE="JavaScript">"; echo "location.href='$url'"; echo "</SCRIPT>"; } ?>
6. thinkphp如何根据域名跳转到其他目录页面
ThinkPHP redirect 方法可以实现页面的重定向(跳转)功能。
redirect 方法语法如下:
$this->redirect(string url, array params, int delay, string msg)
参数说明:
参数
说明
url
必须,重定向的 URL 表达式。
params
可选,其它URL参数。
delay
可选, 重定向延时,单位为秒。
msg
可选,重定向提示信息。
ThinkPHP redirect 实例
在 Index 模块 index 方法中,重定向到本模块的 select 操作:
classIndexActionextendsAction{
publicfunctionindex(){
$this->redirect('select',array('status'=>1),3,'页面跳转中~');
}
}
//不延时,直接重定向
$this->redirect('select',array('status'=>1));
//延时跳转,但不带参数,输出默认提示
$this->redirect('select','',3);
//重定向到其他模块操作
$this->redirect('Public/login');
//重定向到其他分组
$this->redirect('Admin-Public/login');