我想要创建的url;
默认登录页面:http://localhost/Ci/tr
我想要到达管理页面的url:http://localhost/Ci/tr/panel或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' );
});控制器文件目录:app/Controllers/Frontend/Home.php app/Controllers/Backend/Home.php
App.php默认区域设置public $defaultLocale = 'tr';
我用这种方式无法到达主页。当我更改默认命名空间时,我无法访问其他页面。我该怎么办?

发布于 2021-11-22 15:59:30
离开你的default namespace empty.的
将控制器与路由匹配时,路由器会将默认名称空间值添加到由路由指定的控制器的前面。默认情况下,此值为空,这会使每个路由指定完全命名空间的控制器:
$routes->setDefaultNamespace('');
$routes->setDefaultController('App\Controllers\Frontend\Home');
$routes->get('Ci/panel', 'App\Controllers\Backend\Home::index');
$routes->group('Ci/{locale}/panel', ['namespace' => 'App\Controllers\Backend'], function($routes)
{
$routes->get('', 'Home::index' );
});
$routes->group('Ci/{locale}', ['namespace' => 'App\Controllers\Frontend'], function($routes)
{
$routes->get('', 'Home::index' );
});https://stackoverflow.com/questions/70061780
复制相似问题