CakePHP - Controller :: redirect和Auth-> logoutRedirect无效

时间:2015-04-17 04:41:25

标签: php cakephp redirect

我的CakePHP 2.5.3应用程序位于子域(domain / project_name)中,并且apache重写规则正常运行。

在app / Config / core.php中设置App.fullBaseUrl ='domain / project_name'之后,Router :: fullBaseUrl()工作正常,但所有$ this-> Controller->重定向和所有AuthComponent重定向到http://domain/project_name/project_name/controller/action

有没有其他人遇到过此问题,你是如何解决的?

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

这是注销后重定向的模式:

// app/Controller/AppController.php
class AppController extends Controller {
    //...

    public $components = array(
        'Session',
        'Auth' => array(
            'loginRedirect' => array(
                'controller' => 'posts',
                'action' => 'index'
            ),
            'logoutRedirect' => array(      // <-- Let's focus at here.
                'controller' => 'pages',
                'action' => 'display',
                'home'
            ),
            'authenticate' => array(
                'Form' => array(
                    'passwordHasher' => 'Blowfish'
                )
            )
        )
    );

    public function beforeFilter() {
        $this->Auth->allow('index', 'view');
    }
    //...
}

来源:http://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html#authentication-login-and-logout

在您的问题环境中,检查logoutRedirect配置阵列。


如果您想通过其他方式处理重定向:

public function logout() {
    return $this->redirect($this->Auth->logout());
}

来源:http://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html#authentication-login-and-logout