summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--system/core/Router.php12
1 files changed, 6 insertions, 6 deletions
diff --git a/system/core/Router.php b/system/core/Router.php
index 3ef55cee2..30bf39657 100644
--- a/system/core/Router.php
+++ b/system/core/Router.php
@@ -341,13 +341,8 @@ class CI_Router {
// Does the RegEx match?
if (preg_match('#^'.$key.'$#', $uri, $matches))
{
- // Are we using the default routing method for back-references?
- if (strpos($val, '$') !== FALSE && strpos($key, '(') !== FALSE)
- {
- $val = preg_replace('#^'.$key.'$#', $val, $uri);
- }
// Are we using callbacks to process back-references?
- elseif ( ! is_string($val) && is_callable($val))
+ if ( ! is_string($val) && is_callable($val))
{
// Remove the original string from the matches array.
array_shift($matches);
@@ -384,6 +379,11 @@ class CI_Router {
// Execute the callback using the values in matches as its parameters.
$val = call_user_func_array($val, $matches);
}
+ // Are we using the default routing method for back-references?
+ elseif (strpos($val, '$') !== FALSE && strpos($key, '(') !== FALSE)
+ {
+ $val = preg_replace('#^'.$key.'$#', $val, $uri);
+ }
return $this->_set_request(explode('/', $val));
}