【问题标题】:Codeigniter Controller URI routing problemsCodeigniter 控制器 URI 路由问题
【发布时间】:2013-07-03 15:27:10
【问题描述】:

我在调用控制器的方法时遇到问题。顺便说一下,这个控制器是路由的。

路线

$route['admin/company'] ='company';

控制器

class Company extends CI_controller {

    public function __construct() {
        parent::__construct();
        session_start();

        /** Check if user is logged in */
        if ($this->session->userdata('user') != "") {

            $this->load->model('my_model');
            if ( $this->uri->segment(1) != "admin" ) {
              redirect('admin/company/'.$this->uri->segment(2));
            }

        } else redirect('/');
    }
        public function index() { Some coding here............  }
        public function addnew() { Some coding here...........}
        public function process() { Some coding here...... }
    }

当我调用“localhost/company”时,它可以正常工作并将我重定向到“localhost/admin/company”,这很棒。但是,当我尝试调用它的方法时,它会显示 404 错误消息。

示例:当我转到链接时:localhost/admin/company/addnew

路线中缺少什么吗?或在控制器中?还是别的什么?

谢谢, 詹姆斯

【问题讨论】:

  • 哦,我忘了在我的问题中提及。顺便说一句,我去网站:localhost/admin/company/addnew
  • 为什么不创建一个目录admin,把controller company放进去?
  • 我试过了,但没用。我将如何做? ...
  • @Bajongskie 在下面看到我的回答。

标签: codeigniter controller routes codeigniter-routing


【解决方案1】:

如果适用于所有用例,请在routes.php 中使用简单的包罗万象的规则:

$route['admin/company/(.+)$'] = "company/$1";

【讨论】:

    【解决方案2】:

    您必须为控制器中的每个功能添加一个路由。

    $route['admin/company/addNew'] ='company/addNew';
    $route['admin/company/process'] ='company/process';
    

    这很烦人。更好的是,在您的“控制器”文件夹中创建一个文件夹“管理员”。将控制器放在文件夹上。因此,您可以使用 URL“localhost/admin/company”和所有方法访问您的控制器,而无需重新路由。

    如果一开始不起作用,请在“admin”文件夹中创建一个与您在路由文件中找到的名称相同的控制器 (default_controller)。

    【讨论】:

    • 现在我明白了。我意识到我一直在以错误的方式推动自己.. 无论如何谢谢.. 起初它没有工作,可能是因为我将它命名为与文件夹“Admin”和“admin.php”相同的控制器。告别路线......:D
    • 路线是朋友,但有时它们会成为敌人:D
    【解决方案3】:

    创建一个管理目录并添加 $route["company"]="admin/company"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      • 2015-10-04
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多