服务器部署thinkphp3.1.3重定向过多

最近一个项目要从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的重写模式都不行

阅读 5.2k
5 个回答

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

exit("123");

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

重定向后面加上

exit();

试试。

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题