在CodeIgniter中找不到对象

时间:2018-09-24 11:43:14

标签: php .htaccess codeigniter-3

几个月前,我问了一个与路线问题有关的SO问题。

CodeIgniter routes issues to access the frontend and backend folder

在我的代码中添加答案后,我的问题得到解决。

现在,我在Menu_controlle文件夹中创建了一个名为frontend的控制器,并在视图的services.php内创建了一个frontend文件。

菜单控件

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Menu_control extends CI_Controller {
  public $current_date;
  function __construct()
    {
        parent::__construct();
        $this->load->helper('form');
        $this->load->helper('url');
        date_default_timezone_set('Asia/Kolkata');
        $this->current_date= date('d-m-Y H:i:s');      
    }
 public function index()
  {
   $this->load->view('frontend/home');
  }
  public function services()
  {
   $this->load->view('frontend/services');
  }
}
?>

我在菜单中添加了

<li><a href="<?php echo site_url('Menu_control/services');?>">Our Servces</a></li>

现在,当我单击“我们的服务”菜单时,它给我“找不到对象”错误。 enter image description here

enter image description here 谁能知道我正在收到此错误? .htaccess文件为空。

2 个答案:

答案 0 :(得分:0)

为您的项目尝试PrettyURL。 在.htaccess文件中编写以下代码

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

或者您也可以使用以下codeigniter基本网址

{{domain}}/index.php/{{controller_name}}/{{method_name}}

答案 1 :(得分:0)

尝试在根文件夹.htaccess文件中尝试以下代码。

RewriteEngine on
RewriteBase /folder_name/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|style)
RewriteRule ^(.*) index.php?/$1

用您的项目文件夹名称替换folder_name。

更新后的答案

文件夹结构和Menu_control.php文件。

enter image description here

它为我工作。 根文件夹的.htaccess文件包含我之前提供的代码。

enter image description here

已更新的htaccess文件,其文件夹名称为

RewriteEngine on
RewriteBase /project/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|style)
RewriteRule ^(.*) index.php?/$1