Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: 1.9.0
-
Fix Version/s: 1.11.1
-
Component/s: Zend_Controller
-
Labels:None
-
Tags:
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.
Issue Links
| This issue is related to: | ||||
| ZF-3527 | Zend_Controller_Request_Http url encoded BASE_URL |
|
|
|
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.