windows下安装CI框架

CI框架是一个非常流行的 mvc框架, CI框架如何安装和使用,在CI中文网已经讲的比较详细了 ,这里记录下几个需要注意的地方。

一、 index.php问题

把压缩包下载解压到项目根目录即可运行里面的demo。按照ci手册上的第一个例子,通过controllers访问welcome控制器里面的index方法 ,只需要在浏览器运行 http://localhost/CodeIgniter-3.0.6/index.php即可 (其中CodeIgniter-3.0.6为CI框架的目录可以自定义)

这里的url没有带控制器Welcome是因为在config/routes.php里面写了默认的路由配置: $route['default_controller'] = 'welcome';

然后在运行第二个例子application/controllers/Pages.php时,

在地址栏一直是输入的是:http://localhost/CodeIgniter-3.0.6/pages/test/  和 http://localhost/CodeIgniter-3.0.6/pages/test/about  发现一直报错Not Found The requested URL /CodeIgniter-3.0.6/pages/test/about was not found on this server.  

目录:

controllers/pages.php :

<?phpclass Pages extends CI_Controller {
    public function test($page = 'home'){   //参数可以作为路由,比如:http://localhost/CodeIgniter-3.0.6/pages/test/about 将跳转到about页面
        if (!file_exists(APPPATH.'views/pages/'.$page.'.php')){
          show_404();
        }
        $data['title'] = ucfirst($page);
        $this->load->view('pages/'.$page, $data);
    }

  }
 ?>

home.php

<?php
define("VIEWPATHS", dirname(__DIR__));
require_once(VIEWPATHS.'/template/header.php');
echo "hello home page.";
require_once(VIEWPATHS.'/template/footer.php');

//__DIR__  获取的是当前文件所在文件夹
//dirname(__DIR__)  获取的是当前文件所在文件夹的上一级目录

header.php

<!DOCTYPE html>
<html>
<head>
<title><?php echo $title ?></title>
</head>
<body>
<h1>
<?php echo $title;  ?>
</h1>

footer.php

<div><em>&copy; 2016</em></div>
</body>
</html>

以为是哪里需要配置什么 ,后来看到路由那块时发现需要在浏览器中输入[your-site-url]index.php/pages/view   。

需要加入index.php 太坑了。

怎么去掉url中的这个index.php呢 ,在网上搜索了下 有几个方法 。

1. 需要开启apache的rewrite 

    a. 找到LoadModule rewrite_module modules/mod_rewrite.so  去掉前面的#

    b. 找到<Directory "D:/my/develop/apacheDev">  将里面的AllowOverride none  改为 AllowOverride All   (需要重启apache)

2. 在index.php同目录下新建.htaccess

  输入内容:

  RewriteEngine on
  RewriteCond $1 !^(index.php|images|js|css|robots.txt)
  RewriteRule ^(.*)$ /CodeIgniter-3.0.6/index.php/$1 [L]  

其中CodeIgniter-3.0.6可根据实际目录填写

这样重启apache之后就可以直接通过控制器访问啦 

http://localhost/CodeIgniter-3.0.6/pages/test  访问正常

http://localhost/CodeIgniter-3.0.6/pages/test/about  访问正常

参考文档:

http://codeigniter.org.cn/user_guide/tutorial/static_pages.html

http://www.php1.cn/article/7601.html

原文地址:https://www.cnblogs.com/lmh2072005/p/5721448.html