Url matching fixes

This commit is contained in:
Simon Sessingø
2017-08-01 18:29:47 +02:00
parent 5437420175
commit 3a7b27796a
4 changed files with 65 additions and 32 deletions
+4 -2
View File
@@ -135,7 +135,7 @@ abstract class Route implements IRoute
}
}
$regex = sprintf('\-?\/?(?P<%s>%s)', $name, $regex) . $parameters[2][$key];
$regex = sprintf('(?:\/|\-)' . $parameters[2][$key] . '(?P<%s>%s)', $name, $regex) . $parameters[2][$key];
}
@@ -148,7 +148,9 @@ abstract class Route implements IRoute
$urlRegex = preg_quote($route, '/');
}
if (preg_match('/^' . $urlRegex . '(\/?)$/', $url, $matches) > 0) {
echo $urlRegex . '\/? | ' . $url . chr(10);
if (preg_match('/^' . $urlRegex . '\/?/', $url, $matches) > 0) {
$values = [];
+3
View File
@@ -11,6 +11,7 @@ use Pecee\SimpleRouter\Route\IControllerRoute;
use Pecee\SimpleRouter\Route\IGroupRoute;
use Pecee\SimpleRouter\Route\ILoadableRoute;
use Pecee\SimpleRouter\Route\IRoute;
use Pecee\SimpleRouter\Route\LoadableRoute;
class Router
{
@@ -124,6 +125,8 @@ class Router
$url = ($this->request->getRewriteUrl() !== null) ? $this->request->getRewriteUrl() : $this->request->getUri();
/* @var $route IRoute */
for ($i = $max; $i >= 0; $i--) {