#### 1. 沒有重定向的原因 --- **`redirect()` 助手函數(shù)只能在普通的控制器方法中被 `return` 才能跳轉** **通過查看基礎控制器, 可發(fā)現(xiàn) `initialize()` 方法只是在構造方法中被調(diào)用, 被沒有 `return` 返回** **并且構造方法中的 `return` 是沒有意義的** ```php /** * 構造方法 * @access public * @param App $app 應用對象 */ public function __construct(App $app) { $this->app = $app; $this->request = $this->app->request; // 控制器初始化 $this->initialize(); } ``` #### 2. 解決方案 --- **在繼承的基礎控制器中新增自定義重定向方法** ```php /** * 解決基礎控制器初始化中無法重定向問題 * * @param ...$args redirect助手函數(shù)參數(shù) */ public function redirect(...$args) { throw new \think\exception\HttpResponseException(redirect(...$args)); } ``` **在繼承基礎控制器類中重寫初始化方法, 在初始化方法中執(zhí)行重定向** ```php protected function initialize() { $this->redirect('/addmin/login'); } ```