最近我已经将我的应用程序移动到子目录,所以我已经像这样配置了 fullBaseUrl:
Configure::write('App.fullBaseUrl', 'https://example.com/subdirectory');
应用程序没有更多变化,一切都很完美,除了一件事 - 访问未经授权的位置。
我是这样定义的:
$this->Auth->loginAction = ['controller' => 'app_users', 'action' => 'login', 'admin' => false];
$this->Auth->loginRedirect = ['controller' => 'dashboard', 'action' => 'index', 'admin' => false];
$this->Auth->logoutRedirect = ['controller' => 'app_users', 'action' => 'login', 'admin' => false];
$this->Auth->unauthorizedRedirect = ['controller' => 'dashboard', 'action' => 'index', 'admin' => false];
因此,当尝试访问未经授权的操作时,此已登录用户将被重定向到他们的仪表板,但未登录的用户应被重定向到登录表单。
但是在将应用程序移动到子目录并为未经授权的位置定义 fullBaseUrl 之后,我得到了这样的重定向:
https://example.com/subdirectory/subdirectory/app_users/login