最近一個專案要從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的重寫模式都不行
解決方法:
用最笨的辦法,從入口文件admin.php開始,一個一個跟踪打印並結束,看看哪裡出了問題,類似小黃鴨調試法,呵呵
exit("123");