thinkphp 怎么去掉urlthinkphp重定向跳转

拒绝访问 |
| 百度云加速
请打开cookies.
此网站 () 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(3a028fab978a43d1-ua98).
重新安装浏览器,或使用别的浏览器ThinkPHP redirect 页面重定向使用详解与实例
Think redirect 方法
ThinkPHP redirect 方法可以实现页面的重定向(跳转)功能。redirect
方法语法如下:
$this-&redirect(string url, array params, int delay, string msg)
参数说明:
url 必须,重定向的 URL 表达式。
可选,其它URL参数。
delay 可选, 重定向延时,单位为秒。
msg 可选,重定向提示信息。
ThinkPHP redirect
在 Index 模块 index 方法中,重定向到本模块的 select 操作:
class IndexAction extends Action{
public function index(){
$this-&redirect('select', array('status'=&1), 3, '页面跳转中~');
重定向后得到的 URL
可能为:/index.php/Index/select/status/1
由于该方法调用了 U
函数来生成实际的 URL 重定向地址,因此重定向后的 URL 可能因配置不同而有所不同:
隐藏了入口文件 index.php的
/Index/select/status/1
隐藏了入口文件 index.php
且设置了伪静态的
/Index/select/status/1.html
一些常用的
redirect 重定向例子:
// 不延时,直接重定向
$this-&redirect('select', array('status'=&1));
// 延时跳转,但不带参数,输出默认提示
$this-&redirect('select', '', 3);
// 重定向到其他模块操作
$this-&redirect('Public/login');
// 重定向到其他分组
$this-&redirect('Admin-Public/login');
当延时跳转时,必须输入 params
参数(可以为空),也就是 delay 必须出现在第 3 位上。
如果发现跳转后的 URL 有问题,由于 redirect 方法调用 U
方法来生成跳转后的地址,这时候可以测试一下 U 方法生成的地址是否正确,再检查一下配置。
如果不想使用 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
可以无延时重定向,具体采用哪种视具体情况而定。
ThinkPHP U方法:动态生成 URL 地址
ThinkPHP rewrite:利用 .htaccess 文件的 rewrite 规则去掉 URL 里面的
ThinkPHP 伪静态3144人阅读
以下是项目所接触到的知识,根据ThinkPHP3.1.2完全开发手册总结。
一.URL(注意:模块首字母必须大写,分组名如果是大写文件夹名也要大写,在linux上对大小写特别敏感,而wamp不会,之前上传到服务器搞死我)
1.URL模式,在config.php配置
URL_MODEL 为0:
采用传统的URL参数模式:
http://serverName/appName/?m=module&a=action&id=1
URL_MODEL 为1:
使用PATHINFO模式,默认就是这种模式:
http://serverName/appName/module/action/id/1/
在不考虑路由的情况下,第一个参数会被解析成模块名称(如果启用了分组的话,则依次往后递推),第二个参数会被解析成操作,后面的参数是显式传递的,而且必须成对出现,例如:
http://serverName/appName/module/action/year/2008/month/09/day/21/
其中参数之间的分割符号由URL_PATHINFO_DEPR参数设置,默认为”/”,例如我们设置URL_PATHINFO_DEPR为“-”的话,就可以使用下面的URL访问:
http://serverName/appName/module-action-id-1/
URL_MODEL 为2
该URL模式和PATHINFO模式功能一样,除了可以不需要在URL里面写入口文件,和可以定义.htaccess 文件外。在开启了Apache的URL_REWRITE模块后,就可以启用REWRITE模式了,具体参考下面的URL重写部分。
URL_MODEL 为3
兼容模式是普通模式和PATHINFO模式的结合,并且可以让应用在需要的时候直接切换到PATHINFO模式而不需要更改模板和程序,还可以和URL_WRITE模式整合。兼容模式URL可以支持任何的运行环境。
兼容模式的效果是可以解析以下url:
http://serverName/appName/?s=/module/action/id/1/
二.URL生成
为了配合所使用的URL模式,我们需要能够动态的根据当前的URL设置生成对应的URL地址,为此,ThinkPHP内置提供了U方法,用于URL的动态生成,可以确保项目在移植过程中不受环境的影响。
U方法的定义规则如下(方括号内参数根据实际应用决定):
U('[分组/模块/操作]?参数' [,'参数','伪静态后缀','是否跳转','显示域名'])
下面是一些简单的例子:
U('User/add') // 生成User模块的add操作的URL地址
U('Blog/read?id=1') // 生成Blog模块的read操作 并且id为1的URL地址
U('Admin/User/select') // 生成Admin分组的User模块的select操作的URL地址
U方法的第二个参数支持数组和字符串两种定义方式,如果只是字符串方式的参数可以在第一个参数中定义,例如:
U('Blog/cate',array('cate_id'=&1,'status'=&1))
U('Blog/cate','cate_id=1&status=1')
U('Blog/cate?cate_id=1&status=1')
三.页面跳转:
1.&$this-&success('新增成功',&'User/list');
2.$this-&error('新增失败');
Success和error方法都有对应的模板,并且是可以设置的,默认的设置是两个方法对应的模板都是:
//默认错误跳转对应的模板文件
'TMPL_ACTION_ERROR' =& THINK_PATH . 'Tpl/dispatch_jump.tpl';
//默认成功跳转对应的模板文件
'TMPL_ACTION_SUCCESS' =& THINK_PATH . 'Tpl/dispatch_jump.tpl';也可以使用项目内部的模板文件
//默认错误跳转对应的模板文件
'TMPL_ACTION_ERROR' =& 'Public:error';
//默认成功跳转对应的模板文件
'TMPL_ACTION_SUCCESS' =& 'Public:success';success和error方法会自动判断当前请求是否属于Ajax请求,如果属于Ajax请求则会调用ajaxReturn方法返回信息,具体可以参考后面的AJAX返回部分。3.1版本开始,error和success方法支持传值,无论是跳转模板方式还是ajax方式 都可以使用assign方式传参。例如:
$this-&assign('var1','value1');
$this-&assign('var2','value2');
$this-&error('错误的参数','要跳转的URL地址');当正常方式提交的时候,var1和var2变量会赋值到错误模板的模板变量。
当采用AJAX方式提交的时候,会自动调用ajaxReturn方法传值过去(包括跳转的URL地址url和状态值status)
Action类的redirect方法可以实现页面的重定向功能。
redirect方法的参数用法和U函数的用法一致(参考上面的URL生成部分),例如:
//重定向到New模块的Category操作
$this-&redirect('New/category', array('cate_id' =& 2), 5, '页面跳转中...');上面的用法是停留5秒后跳转到News模块的category操作,并且显示页面跳转中字样,重定向后会改变当前的URL地址,Redirect方法的第一个参数是一个URL地址。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:80908次
积分:1541
积分:1541
排名:千里之外
原创:74篇
转载:15篇
评论:10条
(1)(1)(7)(7)(2)(2)(4)(1)(5)(2)(2)(1)(3)(2)(4)(7)(2)(19)(16)(1)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
我是个开朗的人`体谅朋友的难处`喜欢交朋友`喜欢篮球`也喜欢街舞`但因为现在工作了`没什么时间去玩`所以荒废了`
我没钱,没地位,也没权,一份小小的工作只有一点点的收入` 我不挑剔什么`找老婆`我只想找个不是对钱着迷的`尊重长辈`让我满意`啥都愿意(只要别过分)
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'THINKPHP如何定制页面重定向REDIRECT方法',
blogAbstract:'重定向是我们在开发网站当中经常用到的,举个最简单的例子,当实行某一个操作后,不管是成功或者失败,一般都会给个提示,然后再重定向到新的页面。这是很普遍的一种现象,也是为了提高用户体验,总不能让用户自己去点击返回吧!使用thinkphp框架开发网站就可以很便捷的实现这一功能,因为系统已经为我们提供了一个非常好用的redirect方法,此方法可以实现页面的重定向功能。无忧主机()小编今天就和大家来讲一下这个方法怎么用,大家看完之后最好将代码放到php虚拟主机中测试几遍,这样可以更快熟悉使用。redirect方法是属性Action类,所以我们在操作中调用的方式是$this-&redirect(‘User/index’,array(‘cate_id’=&2),5,’页面跳转中….’);此方法有四个参数,第一个是需要重定向的URL,可以用模块/操作',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:7,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'
我是个开朗的人`体谅朋友的难处`喜欢交朋友`喜欢篮球`也喜欢街舞`但因为现在工作了`没什么时间去玩`所以荒废了`\r\n
我没钱,没地位,也没权,一份小小的工作只有一点点的收入` 我不挑剔什么`找老婆`我只想找个不是对钱着迷的`尊重长辈`让我满意`啥都愿意(只要别过分)',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}}

我要回帖

更多关于 html 重定向url 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信