Ok, i didn't know that possibility.
Here's my proposal :
```
if (null === $url) {
    if (($uri = $router->getRequestUri()) && ($path = $uri->getPath())) {
        $url = $router->assemble(array(), array(
            'name' => $this->redirectRoute, 
            'query' => array('redirect' => $path)));
    }
    else {
        $url = $router->assemble(array(), array('name' => $this->redirectRoute));
    }
}
```
But still, if the strategy's redirect attribute is specified as a URI ($this->redirectUri), i don't see how to do without URI concatenation.