#### 1. 没有重定向的原因 --- **`redirect()` 助手函数只能在普通的控制器方法中被 `return` 才能跳转** **通过查看基础控制器, 可发现 `initialize()` 方法只是在构造方法中被调用, 被没有 `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助手函数参数 */ public function redirect(...$args) { throw new \think\exception\HttpResponseException(redirect(...$args)); } ``` **在继承基础控制器类中重写初始化方法, 在初始化方法中执行重定向** ```php protected function initialize() { $this->redirect('/addmin/login'); } ```