管理网址在codeigniter中无法正常工作

时间:2013-07-01 08:36:05

标签: codeigniter url http-status-code-404 admin

我在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);
    }
}

3 个答案:

答案 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';