Habilitando Subdirectorios en CodeIgniter 3 para Rutas de Controladores
Por defecto, CodeIgniter 3 no permite subdirectorios en la ruta del controlador predeterminado. Para habilitar subdirectorios en el controlador predeterminado, crearemos un archivo llamado MY_Router.php
Para redirigir una solicitud a un subdirectorio en la carpeta controllers de CodeIgniter 3, sigue estos pasos:
Crear un Subdirectorio
Configurar las Rutas
Utilizar MY_Router
Crear un Subdirectorio
En la carpeta application/controllers, crea un subdirectorio según tus necesidades. Por ejemplo, podrías crear un subdirectorio llamado admin.
Dentro de ese subdirectorio, coloca tus controladores. Por ejemplo, podrías tener un controlador llamado Login.php.
Configurar las Rutas
Abre el archivo application/config/routes.php
Define tus reglas de enrutamiento personalizadas. Por ejemplo:
$route['admin/login'] = 'admin/login';
Esto redirigirá las solicitudes a admin/login al controlador Login dentro del subdirectorio admin.
Utilizar MY_Router
Por defecto, CodeIgniter 3 no permite subdirectorios en la ruta del controlador predeterminado.
Para habilitar subdirectorios en el controlador predeterminado, crea un archivo llamado MY_Router.php en la carpeta application/core.
En MY_Router.php, sobrescribe el método _set_default_controller() para manejar subdirectorios. Aquí tienes un ejemplo: