Я замечаю, что когда я запускаю приложение Zend Framework с сервера, возникает много побочных эффектов.Основная проблема заключается в том, где я использую URL-адреса, такие как
/auth/login
мне нужно использовать
$this->baseUrl('/auth/login');
, который легко исправить.но когда я использую
$request->getRequestUri()
для использования в перенаправлениях.например, после входа в систему я хочу перенаправить пользователя обратно на предыдущую страницу, он переходит не туда.например.Мой корень приложения "http://localhost/app1", $request->getRequestUri()
выдаст /app1
. Когда я попытаюсь перенаправить назад, он перейдет на http://localhost/app1/app1. btw, я использую Zend Server + IIS7, и мое приложение настроеночтобы запустить с URL-адреса, указанного выше. Может быть, я вместо этого будет "/" вместо. Как я могу решить это?
обновление
это в моем классе 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);
}