我的项目文件夹是demo,里面有文件夹应用程序,库和公共文件夹。我的index.php在公共文件夹中。所以,我将浏览器指向localhost / demo / public。在我的应用程序文件夹中,我有一个控制器文件夹,里面有我的IndexController。在这个索引控制器中,我的indexAction方法是:
$this->_redirect('/auth/login');
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
所以,在这个方法中,我想重定向到同一个控制器指向的AuthController,以及它的动作登录。但浏览器渲染:
在此服务器上找不到请求的URL / demo / public / auth / login。
AuthController在控制器中,而不在公共文件夹中。如何在_redirect调用中正确格式化URL字符串?
答案 0 :(得分:0)
使用重定向器操作助手
$this->_helper->redirector('auth','login');
答案 1 :(得分:0)
尝试使用url视图助手,例如:
$this->_redirect($this->view->url(array('controller'=>'auth','action'=>'login');
另一种选择是尝试绝对格式化您的网址,例如:
$this->_redirect($_SERVER['HTTP_ROOT'].'/auth/login')
虽然第一个选项应该更安全。