Я пытаюсь создать URL, например:
/admin/login /moderator/login
оба запроса будут обслуживаться одним и тем же контроллером и действием, выполненным для входа в систему, т.е. /account/login/<type>
В настоящее время я могу сделать следующий URL:
/login/admin
/login/moderator
Мой текущий файл конфигурации выглядит следующим образом:
resources.router.routes.login.route = "login/:type" resources.router.routes.login.defaults.controller = "account" resources.router.routes.login.defaults.action = "login"
Я не могу понять, как поставить переменную type
в начале URL-адреса, я попробовал, но он дает ошибку сервера. редактировать
Я сделал это, но не могу понять, почему это не срабатывало раньше:
resources.router.routes.login.route = ":type/login" resources.router.routes.login.defaults.controller = "account" resources.router.routes.login.defaults.action = "login"
редактировать
Возможно ли сделать эту схему более гибкой, чтобы: /login
=> /admin/login
Я не ищу решение через .htaccess
Добавьте в свой Bootstrap.php следующее
function _initRoutes() { $front_controller = Zend_Controller_Front::getInstance(); $router = $front_controller->getRouter(); $router->addRoute('login', new Zend_Controller_Router_Route( '/:type/login', array('controller' => 'account', 'action' => 'login') )); }
от использования loginAction ():
$this->getRequest()->getParam('type');
Просто?