Routing ZF2:将重定向url作为参数传递
我试图在某些情况下实现“登录重定向”,比如我的网站上有一个只供登录用户使用的页面 现在,当来宾用户转到该页面时,来宾被重定向到登录页面,我希望用户在登录后在同一页面上重定向 我的登录模块是: 并将此代码集成到“应用程序/身份验证”控制器中 当我使用此url时: www.qa-staging.com/hema/auth/login/redirect/http%3A%2F%2Fgoogle.comRouting ZF2:将重定向url作为参数传递,routing,zend-framework2,Routing,Zend Framework2,我试图在某些情况下实现“登录重定向”,比如我的网站上有一个只供登录用户使用的页面 现在,当来宾用户转到该页面时,来宾被重定向到登录页面,我希望用户在登录后在同一页面上重定向 我的登录模块是: 并将此代码集成到“应用程序/身份验证”控制器中 当我使用此url时: www.qa-staging.com/hema/auth/login/redirect/http%3A%2F%2Fgoogle.com 它给我一个404错误 使用时: www.qa-staging.com/hema/auth/login/
它给我一个404错误 使用时: www.qa-staging.com/hema/auth/login/redirect/然后路由可以工作,但我认为这不是一个好的实践 控制器:验证
操作:登录
参数1:重定向
param2:要重定向的url
'noModule' => array(
'type' => 'Segment',
'options' => array(
'route' => '/[:controller][/:action[/:param1[/:param2[/:param3]]]]',
'constraints' => array(
'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'param1' => '[a-zA-Z0-9_-]*',
'param2' => '(.)+',
'param3' => '(.)+',
),
'defaults' => array(
'__NAMESPACE__' => 'Application\Controller',
'controller' => 'Index',
'action' => 'index',
),
),
),
你知道应该如何使用GET参数来实现这一点吗? 为此类功能使用ZF2路由参数不是正确的方法 因此,您的请求将类似于:
www.qa-staging.com/hemaa/auth/login?redirect=http%3A%2F%2Fgoogle.com
然后在ZF2中,您可以获得如下get重定向参数:
$request = $serviceManager->get('Request');
$redirect = $request->getQuery('redirect');
然后您可以稍后使用它来管理重定向,例如使用