【发布时间】:2017-02-01 02:27:11
【问题描述】:
我是 Codeigniter 的新手,这是我第一次遇到这个问题。我有一个包含许多模型、控制器和多级视图的项目。全部,但我的一个控制器不工作。我会尽力解释我的问题。
假设我有控制器 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>
骗子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);
}
骗局 B
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);
}
视图中的shared/master_app
<div class="wrapper wrapper-content"><?php $this->load->view($contentpage); ?></div>
$config
$config['base_url']= "http://".$_SERVER['HTTP_HOST'].str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
.htaccess in 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>
.htaccess in myproject/application
<IfModule authz_core_module>Require all denied</IfModule>
<IfModule !authz_core_module>Deny from all</IfModule>
注意:
- 在离线模式 (Localhost) 下一切正常
- 从链接重定向后地址栏中的 URL 相同(命名除外)。
【问题讨论】:
-
不是专家,但我在启动 Codeigniter 时一开始就遇到问题,在本地我的所有 URL 运行正常,但在服务器上产生问题并且没有加载。所以我发现我没有遵循 CI 的命名约定。所以你应该先检查一下。
-
网址是什么?请在您的问题中添加访问 URL。
-
我的新控制器好像没有注册。我通过合并控制器来解决我的问题。
标签: php .htaccess codeigniter