Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Routing ZF2:将重定向url作为参数传递_Routing_Zend Framework2 - Fatal编程技术网

Routing ZF2:将重定向url作为参数传递

Routing 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/

我试图在某些情况下实现“登录重定向”,比如我的网站上有一个只供登录用户使用的页面

现在,当来宾用户转到该页面时,来宾被重定向到登录页面,我希望用户在登录后在同一页面上重定向

我的登录模块是: 并将此代码集成到“应用程序/身份验证”控制器中

当我使用此url时: www.qa-staging.com/hema/auth/login/redirect/http%3A%2F%2Fgoogle.com
它给我一个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');
然后您可以稍后使用它来管理重定向,例如使用