Codeigniter index.php页面

时间:2013-03-18 12:23:43

标签: codeigniter view indexing

我想从views目录中设置一些脚本作为默认页面,例如\ application \ views \ index.php,并从应用程序的根目录中删除index.php文件。可能吗? (我试图将config ['index_page']的值更改为我想要的,但它给了我错误,找不到页面)。

或者codeigniter有如此严格的项目结构,我不能做这样的改变?

2 个答案:

答案 0 :(得分:2)

您无法从根目录中删除index.php文件,而是可以从网址中删除index.php。

您必须先定义默认控制器,然后执行以下步骤

将.htaccess文件与index.php文件一起放在应用程序根目录中。 (检查htaccess扩展名是否正确,Bz htaccess.txt对我不起作用。)

并将以下规则添加到.htaccess文件中,

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]  

然后在application / config / config.php文件中找到以下行

$config['index_page'] = 'index.php';

将变量设置为空,如下所示。

$config['index_page'] = '';

就是这样,它对我有用。

如果它不起作用,请尝试逐个替换以下变量('AUTO','PATH_INFO','QUERY_STRING','REQUEST_URI'和'ORIG_PATH_INFO')

$config['uri_protocol'] = 'AUTO';

答案 1 :(得分:1)

$config['index_page'] = '';

会做的伎俩

从现在开始,如果你访问你的网站,如:

http://mypage.com

将调用默认控制器

您可以在application / config文件夹中的routes.php文件中更改它

像:

$route['default_controller'] = "views/index";

顺便说一下。您在(应用程序/控制器)中的 views.php 控制器看起来应该像这样:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Views extends CI_Controller {

    public function index()
    {

        $data = "Text from controller's index method";
        $this->load->view('myview', $data);

    }

}

你的 myview.php (应用程序/观点):

<?php echo $data; ?>