Ein aktuelles Projekt muss von Windows auf Linux migriert werden. Bei der lokalen Ausführung wird jedoch beim Aufrufen des Backend-Systems (admin.php) eine Fehlermeldung angezeigt Weiterleitungen auf der Website
Der Ladevorgang ist admin.php als Eintragsdatei. Der Index-Controller erbt den folgenden Code
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'); } }
Der Code des Login-Controllers
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'); }
Theoretisch erbt loginAction nicht baseAction. Es wird also keine Umleitung geben, aber die Website meldet mir immer noch, dass es zu viele Umleitungen gibt, aber die Seiten unter index.php im Frontend sind normal, aber der Hintergrund Die Systemumleitung ist frustrierend
Die Verzeichnisstruktur ist:
Ich habe versucht, den Pathinfo-Modus zu ändern, aber der Rewrite-Modus von Nginx hat nicht funktioniertLösung: Verwenden Sie die dümmste Methode vom Eingang aus. Beginnen Sie mit der Datei admin.php, drucken Sie sie aus und beenden Sie sie nacheinander, um zu sehen, wo das Problem liegt, ähnlich der Debugging-Methode der kleinen gelben Ente, haha