2017-02-01 43 views
1

我是Codeigniter的新手,這是我第一次遇到這個問題。我有一個有很多模型,控制器和多級視圖的項目。所有,但我的一個控制器不工作。我會盡我所能解釋我的問題。爲什麼我的特定控制器不能在CodeIgniter 3.0中工作?

比方說,我有控制器A和B.

從視圖鏈接來訪問每個控制器:

//This link go to Con A 
<a href="<?php print base_url(); ?>ConA/user">TEST1</a> 

//This link go to Con B 
<a href="<?php print base_url(); ?>ConB/user2">TEST2</a> 

Con A的

defined('BASEPATH') OR exit('No direct script access allowed'); 

class ConA extends CI_Controller 
{ 
function __construct() 
{ 
    parent::__construct(); 
    $this->load->model('MAdmin'); 
} 

public function user() 
{ 
    $data = array (
     'titlepage' => APP_TITLEPAGE, 
     'titleapp' => 'User Management',    
     'listdept' => $this->MAdmin->get_dept(), 
     'complete' => 'false', 
     'contentpage' => 'admin/user');//This is the view directory. Will open user.php in myproject/application/views/admin 

    $this->load->view('shared/master_app', $data); 
} 

精讀乙

defined('BASEPATH') OR exit('No direct script access allowed'); 

class ConB extends CI_Controller 
{ 
function __construct() 
{ 
    parent::__construct(); 
    $this->load->model('MAdmin'); 
} 

public function user2() 
{ 
    $data = array (
     'titlepage' => APP_TITLEPAGE, 
     'titleapp' => 'User Management',    
     'listdept' => $this->MAdmin->get_dept(), 
     'complete' => 'false', 
     'contentpage' => 'admin/user');//This is the view directory. Will open user.php in myproject/application/views/admin 

    $this->load->view('shared/master_app', $data); 
} 

共享在查看/ master_app

<div class="wrapper wrapper-content"><?php $this->load->view($contentpage); ?></div> 

$配置

$config['base_url']= "http://".$_SERVER['HTTP_HOST'].str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']); 

的.htaccess中的myproject/

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /myproject 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /myproject/index.php?/$1 [L] 
</IfModule> 

<IfModule !mod_rewrite.c> 
ErrorDocument 404 /index.php 
</IfModule> 

在myproject的/應用的.htaccess

<IfModule authz_core_module>Require all denied</IfModule> 
<IfModule !authz_core_module>Deny from all</IfModule> 

注:

  • 在離線模式(本地主機),一切運行良好
  • 的URL地址欄重定向後從鏈接是相同的(命名除外)。
+0

的php.ini文件中啓用了mod_rewrite,你應該檢查這一點。 https://www.codeigniter.com/user_guide/general/styleguide.html –

+0

不是專家,但我在開始時遇到了問題,當我啓動Codeigniter時,在本地我的所有URL運行正常,但在服務器上創建問題和沒有加載。所以我發現我沒有遵循CI的命名約定。所以你應該先檢查一下。 –

+0

查看此答案。 http://stackoverflow.com/a/16972966/5077564 –

回答

0

如果您的本地主機運行良好,問題的主要原因是控制器名稱是ConAConB。類名從Capital關鍵字開始。請重命名控制器類並將文件保存爲Cona.php。也許它有效。有時候這個問題會產生很多錯誤。首先,試試這個。此外,您的網址應全部爲小寫字母。您可以編寫錨點標記,例如:

<a href="<?php print base_url('conb/user2'); ?>">TEST2</a> 
0

請您直播服務器

相關問題