diff --git a/src/Pecee/SimpleRouter/RouterBase.php b/src/Pecee/SimpleRouter/RouterBase.php index 35d33c4..3999f01 100644 --- a/src/Pecee/SimpleRouter/RouterBase.php +++ b/src/Pecee/SimpleRouter/RouterBase.php @@ -135,6 +135,14 @@ class RouterBase { $routeNotAllowed = false; + // Make sure routes with longer urls are rendered first + usort($this->controllerUrlMap, function($a, $b) { + if(strlen($a->getUrl()) < strlen($b->getUrl())) { + return 1; + } + return -1; + }); + $max = count($this->controllerUrlMap); /* @var $route RouterEntry */ diff --git a/src/Pecee/SimpleRouter/RouterGroup.php b/src/Pecee/SimpleRouter/RouterGroup.php index f3c0ed4..015fb6b 100644 --- a/src/Pecee/SimpleRouter/RouterGroup.php +++ b/src/Pecee/SimpleRouter/RouterGroup.php @@ -93,7 +93,7 @@ class RouterGroup extends RouterEntry { * @return self */ public function addSettings(array $settings = null) { - if(isset($settings['namespace'])) { + if($this->getNamespace() !== null && isset($settings['namespace'])) { unset($settings['namespace']); } if(is_array($settings)) {