在我的项目中,我正在尝试为管理员创建一个部分。在http://philsturgeon.co.uk/blog/2009/07/Create-an-Admin-panel-with-CodeIgniter#top之后我尝试了第二种方法。根据它,我的文件夹结构有点像这样。
project
cache
config
controllers
-admin
index.php
-blog.php
system
views
-admin
index.php
blog.php
...................
我在 controllers / admin 中创建了一个控制器 index.php ,其代码如下:
class Index extends CI_Controller
{
function __construct()
{
parent::__construct();
}
function index()
{
$this->load->view(index/index);
}
}
在 views / admin 里面,我创建了一个文件 index.php 并回显了一些字符串,并在 routes.php 中添加了这个线,
$route['admin'] = 'admin/index';
但是当我使用网址http://localhost/workspace/project/admin/
运行管理面板时,我收到404错误
The requested URL /workspace/project/admin/ was not found on this server.
我做错了什么?我还有其他任何设置。
有人可以指导我解决这个问题吗?我是Codeigniter的新手。
提前致谢。
答案 0 :(得分:1)
让我们更改您的文件结构(您需要在admin.php控制器中创建一个索引函数)
project(may be root folder of CI)
applications
cache
config
controllers
-admin
index.php (method index)
-blog.php
system
views
-admin
index.php
blog.php
还将控制器名称更改为admin并查看加载
class Index extends CI_Controller
{
function __construct()
{
parent::__construct();
}
function index()
{
$this->load->view('admin/index');
}
}
然后改变你的路线
$route['admin'] = 'admin/index';
答案 1 :(得分:1)
编辑 - 在routes.php
中将路由更改为admin$route['admin/(:any)'] = "admin/$1";
此外,将其置于您的路线上方至默认控制器 -
$route['default_controller'] = "welcome";
$route['404_override'] = '';
我希望它有效! ////////////////////////////////////////////
我想,你的结构有问题,如果我没有错,那就是这样的 -
project
cache
config
controllers
-admin // your admin folder
index.php // your default controller
-blog.php
system
views
-admin
index.php
blog.php
将控制器名称从index更改为admin.php 因此路线应该是 -
$route['admin'] = 'admin/admin/index'; // its like folder/controller/function
答案 2 :(得分:0)
我更喜欢你有两个codeigniter项目,一个用于管理员,一个用于博客。因为像图像,css和js这样的常见文件夹会发生冲突。
还会出现像常见控制器名称这样的salablility问题,因为codeigniter中的命名空间仍然是一个漫长的过程。
答案 3 :(得分:0)
试试这个
class Index extends CI_Controller
{
function __construct()
{
parent::__construct();
}
function index()
{
$this->load->view('admin/index');
}
}