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