ZF-7628: Zend_Controller_Router_Route_Chain does not urldecode the path info
Description
In Zend/Controller/Router/Route/Chain.php on line 75, in the match() method:
$path = trim($request->getPathInfo(), '/');
Then the match method proceeds to call match on all the routes in the chain, with the argument partial set to true.
When partial is set to true, the sub-routes do not urldecode the path info. Since it is never done in the Chain route itself, it is not done at all.
Comments
Posted by Ziad (zizou) on 2009-08-18T11:08:45.000+0000
I have fixed the issue by modifying Zend/Controller/Router/Route/Chain.php on line 75 from:
$path = trim($request->getPathInfo(), '/');
to:
$path = trim( urldecode( $request->getPathInfo() ), '/');
After modifying this line and testing my application, I do not seem to have introduced any new bugs.
Posted by Matthew Weier O'Phinney (matthew) on 2009-08-18T11:22:17.000+0000
Assigning to Ben.
Posted by Khaldeev Ivan (ikhaldeev) on 2010-09-16T07:12:21.000+0000
Why this bug not fixed? It's critical for cyrillic charsets
Posted by Ramon Henrique Ornelas (ramon) on 2010-11-29T00:25:17.000+0000
Fixed with the issue ZF-3527.