• 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

  • 相关阅读:
    Mac之雕虫小技
    Python 合并两个字典(Dictionary)中相同key的value的方法
    linux只保留最新n个文件
    自动化测试笔记
    python实现一个判断时间的装饰,并抛出自定义异常
    python在字典列表中计算具有特定键的元素
    canvas游戏
    教为学:Oracle 11g OCP之路(七):数据结构
    教为学:Oracle 11g OCP之路(八):用户权限管理
    ADO.NET入门教程(六) 谈谈Command对象与数据检索
  • 原文地址:https://www.cnblogs.com/lmh2072005/p/5721448.html
Copyright © 2020-2023  润新知