当我在控制器的beforeFilter中添加$ this->重定向语句并在之后返回时,将忽略重定向。当我在控制器的动作中移动重定向语句时,它工作正常。有人知道我做错了吗?
public function beforeFilter(Event $event) {
if( true ){ //if a sample condition is true
return $this->redirect([
'controller' => 'test',
'action' => 'action'
]);
}
答案 0 :(得分:1)
由于我只是从AppController中的beforeFilter返回响应对象,因此重定向不起作用。 有关详细信息,请查看https://github.com/cakephp/cakephp/issues/6705。
答案 1 :(得分:0)
如果有任何解决方案无效,请执行以下代码。
public function beforeFilter(Event $event) {
if( true ){ //if a sample condition is true
$url = '/'; //set url here
echo '<script type="text/javascript">';
echo 'window.location="'.$url.'"';
echo '</script>';
exit;
}