diff --git a/src/Pecee/Http/Request.php b/src/Pecee/Http/Request.php index 0d69a71..ecee552 100644 --- a/src/Pecee/Http/Request.php +++ b/src/Pecee/Http/Request.php @@ -30,7 +30,7 @@ class Request { $this->parseHeaders(); $this->host = $this->getHeader('http-host'); - $this->uri = $this->getHeader('request-uri'); + $this->uri = urldecode($this->getHeader('request-uri')); $this->input = new Input($this); $this->method = strtolower($this->input->get('_method', $this->getHeader('request-method'), 'post')); } diff --git a/src/Pecee/SimpleRouter/Route/RouteController.php b/src/Pecee/SimpleRouter/Route/RouteController.php index b32fa23..d1650d6 100644 --- a/src/Pecee/SimpleRouter/Route/RouteController.php +++ b/src/Pecee/SimpleRouter/Route/RouteController.php @@ -87,8 +87,7 @@ class RouteController extends LoadableRoute implements IControllerRoute public function matchRoute($url, Request $request) { - $url = parse_url(urldecode($url), PHP_URL_PATH); - $url = rtrim($url, '/') . '/'; + $url = rtrim(parse_url($url, PHP_URL_PATH), '/') . '/'; /* Match global regular-expression for route */ $regexMatch = $this->matchRegex($request, $url); diff --git a/src/Pecee/SimpleRouter/Route/RouteResource.php b/src/Pecee/SimpleRouter/Route/RouteResource.php index 7e806ca..20f0752 100644 --- a/src/Pecee/SimpleRouter/Route/RouteResource.php +++ b/src/Pecee/SimpleRouter/Route/RouteResource.php @@ -79,8 +79,7 @@ class RouteResource extends LoadableRoute implements IControllerRoute public function matchRoute($url, Request $request) { - $url = parse_url(urldecode($url), PHP_URL_PATH); - $url = rtrim($url, '/') . '/'; + $url = rtrim(parse_url($url, PHP_URL_PATH), '/') . '/'; /* Match global regular-expression for route */ $regexMatch = $this->matchRegex($request, $url); diff --git a/src/Pecee/SimpleRouter/Route/RouteUrl.php b/src/Pecee/SimpleRouter/Route/RouteUrl.php index 1c348aa..68ca0b7 100644 --- a/src/Pecee/SimpleRouter/Route/RouteUrl.php +++ b/src/Pecee/SimpleRouter/Route/RouteUrl.php @@ -14,8 +14,7 @@ class RouteUrl extends LoadableRoute public function matchRoute($url, Request $request) { - $url = parse_url(urldecode($url), PHP_URL_PATH); - $url = rtrim($url, '/') . '/'; + $url = rtrim(parse_url($url, PHP_URL_PATH), '/') . '/'; /* Match global regular-expression for route */ $regexMatch = $this->matchRegex($request, $url);