关于ThinkPHP中$this->redirect的疑问。
来源:互联网 发布:excel数据导入系统 编辑:程序博客网 时间:2024/05/17 22:34
在TP1.5版本中使用
1 $this->redirect('login','Public');便可以实现跳转到当前项目的 PublicAction 中的 login 方法路径。
在TP2.0中方法发生了变动,按手册上的方法应该这样进行跳转:
1 $this->redirect('Public/login');但是最后的URL地址却会变成:
http://xxx.xxx.xxx/admin.php/Admin_App//Public/login
但我实际需要跳转的地址是
http://xxx.xxx.xxx/admin.php/Public/login
也就说,默认的$this->redirect方法会在url中加上项目名。有人建议说重写一下TP中的redirect方法,这比较麻烦了。
这时想到了用redirect()函数,而不使用$this中的方法,然后想到了两个解决办法:
123 $this->redirect('../../Public/login'); //方法1 redirect('admin.php/Public/login') //方法2其中第一个办法虽然能解决,但因为路径层数比较复杂,而我也一直比较避免用 ../到url路径中。
第二个办法虽然能解决,但是并不是完善,因为在设计中我考虑到以后可以任意的改变 admin.php这个后台入口文件的文件名。
尝试了redirect()函数中并不能使用TP自带的替换变量后,突然想到加一个变量赋值的笨办法:
12 $login_url = __APP__.'/Public/login'; //跳转路径 redirect($login_url);这样就算把问题解决了。
TP中不少的函数和模板替换值 比如之前遇到的 ../Publc 都会自动加上项目名称,当时本来项目名想作为title的一个替换量,但在使用 ../Publc 时路径会变成 http://xxx.xxx.xxx/项目名/Tpl/Public/ 所以当时不得不把项目名换成了和文件目录名相同。
这点我觉得完全没必要了。
0 0
- 关于ThinkPHP中$this->redirect的疑问。
- javascript中this的相关疑问解答
- 关于UML中::的疑问
- ThinkPHP中redirect用法分析
- this的疑问?
- ThinkPHP的redirect方法总结
- 关于ThinkPHP中$this->success()或…
- Thinkphp redirect
- QTP中关于smart identification的疑问
- 关于opencv中RotatedRect的角度疑问
- Android中关于主线程的疑问
- iOS 中关于Copy的疑问汇总
- 关于Thinkphp里面的$this->display();的解说及说明
- thinphp中$this->redirect与redirect重定向区别
- 关于javascript的疑问
- 关于变压器的疑问
- 关于 LoadLibrary 的疑问
- 关于junit的疑问
- 【JavaWeb】 ServletConfig
- 关于SearchView的一些小细节
- 通过项目中定位的一个问题:学习ionic框架$ionicPopover的使用以及注意事项
- Mysql分库分表方案
- Android onMeasure and onLayout
- 关于ThinkPHP中$this->redirect的疑问。
- android bitmap compress(图片压缩)
- perl DBI mysql包安装详解
- 剑指offer系列之五十七:二叉树的下一个节点
- 实现统计每个栏目下的文章总数的调用
- RPG类型游戏—2
- SOAP
- 使用AFN出现的问题以及解决方法
- SourceTree版本管理工具以及冲突的解决方式