ZF-7628: Zend_Controller_Router_Route_Chain does not urldecode the path info

Issue Type: Bug Created: 2009-08-18T11:07:00.000+0000 Last Updated: 2010-11-29T00:25:18.000+0000 Status: Resolved Fix version(s): - 1.11.1 (30/Nov/10)

Reporter: Ziad (zizou) Assignee: Ramon Henrique Ornelas (ramon) Tags: - Zend_Controller

Related issues: - ZF-3527



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.


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(), '/');


$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.

Have you found an issue?

See the Overview section for more details.


© 2006-2018 by Zend, a Rogue Wave Company. Made with by awesome contributors.

This website is built using zend-expressive and it runs on PHP 7.