如何在Zend Framework中将URL作为URL的参数传递?

Gen*_*eck 3 php zend-framework zend-framework-mvc

我的问题源于我向用户发送电子邮件,其中包含以下内容:

http://mydomain.net/login/index/dest/%2Finvitation%2Fconfirm%2Fconfirmation_key%2F15116b5e4c61e4111ade679c10b3bf27

正如您所看到的,我要做的是将URL作为参数"dest"传递,以便登录页面知道用户登录后的重定向位置.但是,我看到了以下内容:

404 Not Found  - /login/index/dest //邀请/确认/确认_key/15116b5e4c61e4111ade679c10b3bf27

这是我用来创建电子邮件的视图:

<p>
<?if($this->invitation->user):?>
<a href='<?=$this->serverUrl($this->baseUrl().$this->url(array(
    'action'=>'index',
    'controller'=>'login',
    'dest'=>$this->url(array(
        'action'=>'confirm',
        'controller'=>'invitation',
        'confirmation_key'=>$this->invitation->confirmation_key
    ))
)));?>'>Log in to confirm this invitation.</a>

//The view continues...
Run Code Online (Sandbox Code Playgroud)

关于如何防止将URI编码的项目翻译成其文字值的任何想法都将非常感激.

Chr*_*isR 6

难道你不能把它作为simpel GET参数发送出去吗?

喜欢http://mydomain.net/login/index/?redirect=/invitation/confirm/confirmation_key/15116b5e4c61e4111ade679c10b3bf27

这就是它实际上主要完成的方式.

  • 听起来像是最好的解决方案.几个月前我写了一个简单的查询路由器,将这种类型的URL绑定到Zend路由器,如果这对你有用的话.http://fullycharged.org/articles/zend-framework/query-router (2认同)