我注意到,當我從服務器運行一個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