服务器部署thinkphp3.1.3重定向过多
PHP中文网
PHP中文网 2017-04-11 10:40:19
[PHP讨论组]

最近一个项目要从window迁移到linux下,本地运行的时候没问题,但在linux测试的时候,进入后台系统(admin.php)就报错网站的重定向过多

加载流程是admin.php作为入口文件,index控制器继承baseAction,baseAction有如下的代码

class IndexAction extends BaseAction {

    public function index() {
    //indexAction.class.php
    }
 }
    
    
class BaseAction extends Action {
//BaseAction.class.php
   public function _initialize() {
        if (!$this->isLogin()) {
            $this->redirect('Home/Login/index');
        }
    }

Login控制器的代码

class LoginAction extends Action {

    /**
     * 显示登录页面
     */
    public function index() {
        if (!empty($_SESSION[C('SESSION_ADMIN_NAME')]) && !empty($_SESSION[C('SESSION_ADMIN_ID')]) && strtolower(ACTION_NAME) != 'logout') {
            $this->redirect("Index/index");
        }
        $this->display('login');
    }

理论上loginAction不继承baseAction所以不会重定向的啊,但是网站还是提示我有过多的重定向,但是前台index.php下的页面都正常,就是后台系统重定向郁闷

目录结构是:


尝试了修改pathinfo模式,看了nginx的重写模式都不行

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(5)
ringa_lee

用最笨的办法,从入口文件admin.php开始,一个一个跟踪打印并结束,看看哪里出了问题,类似小黄鸭调试法,呵呵

exit("123");
巴扎黑

楼主解决了么 我这也遇到这个问题了 具体怎么解决的

怪我咯

重定向后面加上

exit();

试试。

PHPz

应该是你的isLogin方法逻辑不对吧,redirect已经内置exit方法了

伊谢尔伦

目测是isLogin方法返回值不准确

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号