我在codeigniter中创建了一个小应用程序。在管理部分未打开的情况下,前端正常运行。
我正在尝试以yourdomain/admin/index.php/user/
打开(但它显示404 not found error
)。
那么如何查看admin的目录部分?
这是我的文件结构和admin
的文件内容D:\wamp\www\CodeIgniter\application\views\admin\catalog\catalog_view.php
<?php if (!defined('BASEPATH')) exit(__('No direct script access allowed')); ?>
<?php $this->load->view('admin/inc/header'); ?>
<h1><?php echo __('Catalog Manager'); ?></h1>
<p>Coming Soon...</p>
<?php $this->load->view('admin/inc/footer'); ?>
D:\wamp\www\CodeIgniter\application\controllers\admin\catalog\catalog.php
<?php
/**
* Admin User Controller
*/
class User extends MY_Controller
{
public function __construct()
{
parent::MY_Controller();
}
function index()
{
$data = '';
//---
$html_string = $this->load->view('admin/catalog/catalog_view', $data, true); //Get view data in place of sending to browser.
Library('process')->view($html_string);
}
}
答案 0 :(得分:0)
您无法以这种方式访问yourdomain/admin/index.php/user/
您必须先尝试site.com/index.php/admin/...
但你必须确保你创建了一个名为controller/admin.php
的控制器来加载你的views/admin/
页面
因为如果您不想触摸CI核心或扩展它,则规则是 :
http://www.site.com/index.php/controller/method/params
所以在你的情况下我会这样做:
class Admin exntends CI_Controller{
function index(){
//admin home page
//www.site.com/index.php/admin
}
function users(){
//admin users page
//www.site.com/index.php/admin/users
}
//... and so on
}
无需路由,如果您想从网址中删除 index.php ,只需将此htaccess
放在项目根目录中:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
答案 1 :(得分:0)
你有一个很好的htaccess设置吗? 没有htaccess,你可以访问admin-&gt; index();这与index.php / admin / index /
您的管理员控制器文件的顺序不正确: /application/controllers/admin/catalog/catalog.php
如果没有路由(http://ellislab.com/codeigniter/user-guide/general/routing.html),则无法使其工作,您需要将类名从用户更改为目录。
理想情况下,您将控制器移动到/controllers/admin.php。 然后你可以做index.php / admin并显示索引功能。什么都不需要路由。
答案 2 :(得分:0)
请使用路由文件进行少量设置并轻松设置管理 URL。
$route['admin'] = 'admin/dashboard';