Hola GatorV,
empezando a toquetar e hice esto:   
Código php:
Ver originalclass FrontController
{
    static function main()
    {
        /**
         *  funcion para cargar todas las clases del core
         */
                
        function recursiveInclude($path) {             
                foreach($dir as $k => $v)                                    
                        include_once($path.$v);
                    elseif ( is_dir($path.$v) && ($v != ".") && ($v != "..") && ($v != 'smarty') )                         recursiveInclude($path.$v."/");
            
        }
        
        $ubicacion=explode('/',$_SERVER['PHP_SELF']);         //Incluimos todas las  clases:
        if($ubicacion[2]=="admin"){
            include_once '../core/clases/class.config.php';             
            recursiveInclude('../core/clases/');
        }
        else{
            include_once 'class.config.php';        
            recursiveInclude('core/clases/');
        }
        
      
        
        if($ubicacion[2]=='admin'){
            require '../configuracion.php'; //Archivo con configuraciones.
        }
        else{
            require 'configuracion.php';//Archivo con configuraciones.
        }
        
        //Con el objetivo de no repetir nombre de clases, nuestros controladores
        //terminaran todos en Controller. Por ej, la clase controladora Items, será ItemsController
 
        //Formamos el nombre del Controlador o en su defecto, tomamos que es el IndexController
        if(! empty($_REQUEST['controlador'])){               $controllerName = $_REQUEST['controlador'].'Controller';
              $controllerFolder = $_REQUEST['controlador'];
        }
        else{
              $controllerName = "indexController";
              $controllerFolder = 'index';
        }
 
        //Lo mismo sucede con las acciones, si no hay accion, tomamos index como accion
        if(! empty($_REQUEST['accion']))               $actionName = $_REQUEST['accion'];
        else
              $actionName = "index";
 
        //verifico si esta en el admin o no
        if(!isset($_SESSION['admin'])&&$ubicacion[2]!='admin'){             $controllerPath = $config->get('controllersFolder') . $controllerFolder . '/'.$controllerName.'.php';
            $config->set('viewsFolder',$config->get('controllersFolder') . $controllerFolder . '/templates/');
            $templates=$config->get('adminControllerFolder') . $controllerFolder . '/templates/';
            $config->set('viewsFolders',$templates);
            //$error404 = $config->get('controllersFolder').'error404/error404Controller.php';
            
        }
        else{
            $controllerPath = $config->get('adminControllerFolder') . $controllerFolder . '/'.$controllerName.'.php';
            $templates=$config->get('adminControllerFolder') . $controllerFolder . '/templates/';
            $config->set('viewsFolders',$templates);
            $config->set('templates',$config->get('adminViewsFolder'));
            $error404 = $config->get('adminControllerFolder').'error404/error404Controller.php';
        }
 
        //Incluimos el fichero que contiene nuestra clase controladora solicitada
              require $controllerPath;
        else
              die('El controlador no existe - 404 not found<br/>'.$controllerPath);               //require $error404;
              //echo $error404;
 
        //Si no existe la clase que buscamos y su acción, tiramos un error 404
        
        
        {
            trigger_error ($controllerName . '->' . $actionName . ' no existe', E_USER_NOTICE);             return false;
        }
        //Si todo esta bien, creamos una instancia del controlador y llamamos a la accion
        $controller = new $controllerName();
        $controller->$actionName();
    }
    
    
}
  
pero cuando quiero entrar a elstitio/admin/
me salta el error:
El controlador no existe - 404 not found 
y si imprimo la ruta del controlador sale:
admin/controladores/index/indexController.php 
y el indexController tiene esto:   
Código php:
Ver originalclass indexController extends Controller {
    public function index(){
        $hola="Hola mundo";
        echo $hola;
    }
}
  
estoy armando mal el frontcontroller?, como sería eso del router?