Я борюсь за это уже 2 часа. Мне удалось создать маршрут с параметром (по имени url
) лайк /login/url
:
'login' => array(
'type' => 'segment',
'options' => array(
'route' => '/login[/:url]',
'defaults' => array(
'controller' => 'my_controller',
'action' => 'login',
),
),
),
Однако я хотел бы иметь URL, который выглядит как /login?url=foo
, Я пробовал что-то вроде:
'route' => '/login[?url=:url]',
Но это не работает. Есть идеи, как добиться этого на Zend Framework 2?
Большое спасибо!
РЕДАКТИРОВАТЬ:
Попытка что-то еще, как:
// onBootstrap method --> redirect to login page with request url as param
$url = $router->assemble(
array('url', $e->getRequest()->getRequestUri()),
array('name' => 'login')
);
В контроллере (действие входа в систему):
$request = $this->getRequest();
var_dump($request); exit;
Я не вижу нигде запрошенного URL … есть предложения?
Я не думаю, что вы должны поместить свой сегмент строки запроса в свой маршрут. Казалось бы, разумно, чтобы ваш маршрут был просто /login
а затем управляйте параметром строки запроса в контроллере.
В противном случае, но я не рекомендую его, поскольку он устарел, вы можете попробовать использовать Query router.
Других решений пока нет …