我是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地址欄重定向後從鏈接是相同的(命名除外)。
的php.ini文件中啓用了mod_rewrite,你應該檢查這一點。 https://www.codeigniter.com/user_guide/general/styleguide.html –
不是專家,但我在開始時遇到了問題,當我啓動Codeigniter時,在本地我的所有URL運行正常,但在服務器上創建問題和沒有加載。所以我發現我沒有遵循CI的命名約定。所以你應該先檢查一下。 –
查看此答案。 http://stackoverflow.com/a/16972966/5077564 –