我注意到,当我从服务器运行一个zend框架应用程序,有很多副作用。主要的问题是我所使用的网址一样Zend Framework:从一个文件夹(不是/)
/auth/login
我需要使用
$this->baseUrl('/auth/login');
这就是简单的修复。但是当我使用
$request->getRequestUri()
用于重定向。例如,在登录后,我想将用户重定向到prev页面,它会转到错误的地方。例如。我的应用根目录是“http://localhost/app1”,$request->getRequestUri()
会给/app1
。当我尝试重新导向时,它将转到http://localhost/app1/app1。顺便说一句,我使用Zend服务器+ IIS7和我的应用程序被配置为从上述网址运行。也许我会去“/”来代替。我该如何解决这个问题?
更新
这是我的Zend_Form类
// (Zend_Form) Login.php init()
$req = Zend_Controller_Front::getInstance()->getRequest();
$returnUrl = $req->getParam('returnUrl', $req->getRequestUri());
$this->addElement('hidden', 'returnUrl', array(
'value' => $returnUrl
));
// AuthController after login
$returnUrl = urldecode($form->getElement('returnUrl')->getValue());
if (!empty($returnUrl)) {
$this->_helper->getHelper('Redirector')->setGotoUrl($returnUrl);
}
你的重定向是怎么样的? $ request-> getRequestUri()返回/ app是预期的行为。 请问你的问题更精确。 – 2010-08-12 17:13:58
重定向时发布代码! – 2010-08-12 19:58:33
@keyne @Benjamin,更新了我的帖子 – 2010-08-13 01:43:53