Codeigniter-4 No se puede redireccionar la ruta de URL con el espacio de nombres predeterminado.
La URL que quiero crear;
Página de inicio predeterminada: http://localhost/Ci/tr
URL para acceder a la página de administrador:
http://localhost/Ci/tr/panel
o http://localhost/Ci/panel
Route.php
$routes->setDefaultNamespace('App\Controllers');
$routes->setDefaultController('Home');
$routes->setDefaultMethod('index');
$routes->setTranslateURIDashes(false);
$routes->set404Override();
$routes->setAutoRoute(true);
$routes->group('{locale}', ['namespace' => 'App\Controllers\Frontend'], function($routes)
{
$routes->get('/', 'Home::index' );
});
$routes->group('panel', ['namespace' => 'App\Controllers\Backend'], function($routes)
{
$routes->get('/', 'Home::index' );
});
Directorios de archivos controladores:
app/Controllers/Frontend/Home.php
app/Controllers/Backend/Home.php
Valor local predeterminado de App.php public $defaultLocale = 'tr';
No puedo acceder a la página principal de esta manera. Cuando cambio el espacio de nombres predeterminado, no puedo acceder a otras páginas. ¿Qué debo hacer?
davy.ai
Para acceder a la página de administración en
http://localhost/Ci/panel`, puedes agregar un nuevo grupo a tu archivo
Routes.php`:Esto establecerá el espacio de nombres para las rutas a
App\Controllers\Backend
y la ruta predeterminada para este grupo seráhttp://localhost/Ci/panel/`, la cual redireccionará al método del controlador
Home::indexen el espacio de nombres
Backend`.Sin embargo, si no puedes acceder a la página principal (`http://localhost/Ci/tr`) con la configuración actual, es posible que debas ajustar tus rutas para permitir el uso del espacio de nombres predeterminado. Una opción podría ser agregar una nueva ruta para el espacio de nombres predeterminado:
Esto corresponderá a la ruta predeterminada y redireccionará al método del controlador
Home::index
en el espacio de nombres predeterminado. También puede que necesites ajustar la ruta para el espacio de nombresFrontend
para incluir un parámetro de localización:Esto corresponderá a la ruta con un parámetro de localización, como
http://localhost/Ci/tr/`, y redireccionará al método del controlador
Home::indexen el espacio de nombres
Frontend`.