php - 未找到 CodeIgniter 路由

标签 php codeigniter routes codeigniter-3

我正在学习 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 即可浏览它

http://yoursite/admin/dashboard

。如果您没有明确删除index.php,则URL将为

http://yoursite/index.php/admin/dashboard

。 如果您使用的是 XAMP 之类的本地计算机,则 URL 将为

http://localhost/folderName//index.php/admin/dashboard

.

希望对你有帮助

关于php - 未找到 CodeIgniter 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51039067/

相关文章:

php pdostatement::execute 永远执行

php - 多站点网站身份验证,例如 mint.com

php - 在带有 codeigniter 的 simplepie 中使用多个提要

php - 如何使用if else条件在php mysql数据库中导入csv数据

ember.js - "basic"是 Ember 中的保留路由名称吗?

javascript - Backbone - 覆盖哈希更改历史

php - 价格或货币变为 0.00

php - 计算评级系统的平均值

php - 查询在 phpmyadmin 中有效,但在 PHP 中无效

javascript - 我可以通过路由/中间件提醒用户吗?