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

问题描述 投票:0回答:2

我在codeigniter中创建了一个小应用程序。在管理部分未打开的情况下,前端正常运行。

我试图打开yourdomain/admin/index.php/user/(但它显示404 not found error)。

那么如何查看管理员的目录部分?

这是我的文件结构和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);
    }
}
codeigniter url http-status-code-404 admin
2个回答
0
投票

你有一个很好的htaccess设置吗?没有htaccess,你可以访问admin-> 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并显示索引功能。什么都不需要路由。


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]
© www.soinside.com 2019 - 2024. All rights reserved.