我是新手,我想知道為什么我的控制器會在我的URL上出現(xiàn)兩次。所以我有一個導航欄,當我點擊一個菜單時,URL看起來像http://localhost/Home/index
,但當我點擊另一個菜單時,URL變成http://localhost/Home/Home/stud_admit
,并顯示404 - File Not Found
,Controller method is not found: Home
。
Routes.php
$routes->setDefaultNamespace('App\Controllers');
$routes->setDefaultController('Home');
$routes->setDefaultMethod('index');
$routes->setTranslateURIDashes(false);
$routes->set404Override();
$routes->setAutoRoute(true);
$route['(:any)'] = "Home/$1";
$routes->get('/', 'Home::index');
$routes->get('/', 'Home::stud_admit');
Home.php-控制器
<?php
namespace App\Controllers;
use AppControllersBaseController;
class Home extends BaseController
{
public function index() {
$data = [];
$data['title'] = 'SMS';
$data['heading'] = 'Welcome to SMS';
$data['main_content'] = 'home'; // page name
echo view('innerpages/template', $data);
}
public function stud_admit()
{
$data = [];
$data['title'] = 'SMS | ADMIT STUDENT';
$data['heading'] = 'Welcome to SMS';
$data['main_content'] = 'stud-admit'; // page name
echo view('innerpages/template', $data);
}
}
由于已啟用自動路由,只需從路由文件中刪除:
$route['(:any)'] = "Home/$1"; $routes->get('/', 'Home::index'); $routes->get('/', 'Home::stud_admit');
你不需要它們。