我将尝试将索引控制器定义为默认控制器
我还会更改routes.php
文件
$route['default_controller'] = 'index';
但是当我定义welcome
或其他控制器名称(例如admin
)时它无法正常工作
$route['default_controller'] = 'welcome';
或
$route['default_controller'] = 'admin';
我的网址是
如果default_controller
为admin
或welcome
,则会有效,default_controller
为index
,因此会出现错误
未找到404页面
找不到您请求的页面。
是否有任何方法可以将index
控制器用作default controller
我的控制器文件如下:
Admin
Index
Welcome
答案 0 :(得分:4)
控制器名称
由于您的控制器类将扩展主应用程序 控制器你必须小心,不要将你的方法命名为相同的 该类使用的那些,否则你的本地方法会 覆盖他们。以下是保留名称列表。不要说出名字 你的控制器中的任何一个:
CI_Controller
默认
索引
取自codeigniter 3文档
答案 1 :(得分:0)
正如@Dale所说,你不能对控制器使用一些保留关键字。 但如果您仍想使用索引控制器在控制器中添加 __ construct()
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Index extends CI_Controller {
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see https://codeigniter.com/user_guide/general/urls.html
*/
public function __construct()
{
parent::__construct();
}
public function index()
{
$this->load->view('welcome_message');
}
}