|
Index: Router.php
===================================================================
--- Router.php(版本 11328)
+++ Router.php(版本 12362)
@@ -274,13 +274,26 @@
return $segments;
}
+$dir=$segments[0];
+$dir_level=0;
+
+while(is_dir(APPPATH.'controllers/'.$dir)){
+$dir_level++;
+if(isset($segments[$dir_level])==false){
+break;
+}
+$dir=$dir."/".$segments[$dir_level];
+}
+$dir=join("/",array_slice($segments,0,$dir_level));
+
+
// Is the controller in a sub-folder?
-if (is_dir(APPPATH.'controllers/'.$segments[0]))
+if ($dir_level>0)
{
+
// Set the directory and remove it from the segment array
-$this->set_directory($segments[0]);
-$segments = array_slice($segments, 1);
-
+$this->set_directory($dir);
+$segments = array_slice($segments, $dir_level);
if (count($segments) > 0)
{
// Does the requested controller exist in the sub-folder?
@@ -465,7 +478,7 @@
*/
function set_directory($dir)
{
-$this->directory = str_replace(array('/', '.'), '', $dir).'/';
+$this->directory = str_replace(array('.'), '', $dir).'/';
}
// -------------------------------------------------------------------- |
|
|