我正在学习 CodeIgniter,因此我对该平台还很陌生。我遇到以下问题:
我创建了一个名为admin
的 Controller ;
然后我在路由文件中添加了路径,如下所示:
$route[admin/dashboard] = 'admin/dashboard
;
Controller
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
...的配置上?
DEBUG - 2018-06-26 08:53:45 --> UTF-8 Support Enabled DEBUG -
2018-06-26 08:53:45 --> Client sent : dashboard DEBUG - 2018-06-26
08:53:45 --> Route found : (:any) --> pages/index/$1 DEBUG -
2018-06-26 08:53:45 --> Redirecting to : dashboard -->
pages/index/dashboard DEBUG - 2018-06-26 08:53:45 --> Global POST, GET
and COOKIE data sanitized DEBUG - 2018-06-26 08:53:45 --> Session:
"sess_save_path" is empty; using "session.save_path" value from
php.ini. ERROR - 2018-06-26 08:53:45 --> 404 Page Not Found:
通过查看上面的http://mysite/admin/dashboard
不知何故被重定向到
Route found : (:any) --> pages/index/$1 DEBUG
我觉得这很奇怪,因为我已经“硬编码”了路由并将其放置在routes.php
的最顶部,但由于某种原因它没有被执行......?
任何意见和/或帮助表示赞赏。
最佳答案
为了简单起见,删除您定义的路由,无需在 CI 中定义路由。如果您有一个 Controller “admin”和一个操作仪表板,您只需使用 URL 即可浏览它
。如果您没有明确删除index.php,则URL将为
。 如果您使用的是 XAMP 之类的本地计算机,则 URL 将为
.
希望对你有帮助
关于php - 未找到 CodeIgniter 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51039067/