【发布时间】:2018-12-04 22:47:30
【问题描述】:
我正在学习 CodeIgniter,因此我对这个平台还是很陌生。我有以下问题:
我创建了一个名为 admin 的控制器;
然后我在路由文件中添加了这样的路径:
$route[admin/dashboard] = 'admin/dashboard;
控制器
class Admin extends CI_Controller {
public function dashboard($page ='dashboard'){
if(!file_exists(APPPATH.'/views/pages/'.$page.'.php')){
echo 'error';
show_404();
}
//check if Admin
$data['isAdmin'] = $this->admin_model->isAdmin($this->session->userID);
var_dump($data['isAdmin']);
$data['title'] = $page;
$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
$this->load->view('templates/footer', $data);
}
routes.php
#ADMIN
$route['admin/dashboard'] = 'admin/dashboard'; //ROUTE FOR ADMIN DASHBOARD
#USERS
$route['users']= 'users';
$route['users/index'] = 'users/index';
$route['users/login'] ='users/login';
$route['users/dashboard'] ='users/dashboard';
$route['users/profile'] = 'users/profile';
$route['users/userpicks/(:any)'] = 'users/userpicks/$1';
#PAGES
$route['pages/index'] = 'pages/index';
$route['pages/user_data_submit'] = 'pages/user_data_submit';
$route['(:any)'] = 'pages/index/$1';
$route['default_controller'] = 'pages/index';
观看次数
admin
------- dashboard.php
Config.php
$config['base_url'] = 'http://mysite';
问题/问题
当我尝试访问 http://mysite/admin/dashboard 时出现 404 错误
跟踪路线会出现以下我觉得奇怪的问题。看下面我相信问题出在routes.php的配置上...?
调试 - 2018-06-26 08:53:45 --> 启用 UTF-8 支持调试 -
2018-06-26 08:53:45 --> 客户端发送:仪表板调试 - 2018-06-26
08:53:45 --> 找到路由:(:any) --> pages/index/$1 DEBUG -
2018-06-26 08:53:45 --> 重定向到:仪表板 -->
pages/index/dashboard DEBUG - 2018-06-26 08:53:45 --> 全球 POST,GET
和 COOKIE 数据净化 DEBUG - 2018-06-26 08:53:45 --> 会议:
“sess_save_path”为空;使用来自
的“session.save_path”值php.ini。错误 - 2018-06-26 08:53:45 --> 404 页面未找到:
通过查看上面的http://mysite/admin/dashboard 以某种方式被重定向到
找到路由:(:any) --> pages/index/$1 DEBUG
我觉得这很奇怪,因为我已经“硬编码”了路线并将其放在 routes.php 的最顶部,但由于某种原因它没有被执行...?
任何意见和/或帮助表示赞赏。
【问题讨论】:
-
http://mysite/index.php/admin/dashboard?? -
不
$config['base_url'] = 'http://mysite; -
不只是在 URL 中输入并检查页面加载
-
@TimothyCoetzee 嘿评论这个
$route['(:any)'] = 'pages/index/$1';route -
是的@AbdullaNilam 似乎是正确的
$route['(:any)'] = 'pages/index/$1';路线在$route['admin/dashboard'] = 'admin/dashboard'之前命中
标签: php codeigniter routes codeigniter-3