解析CI即CodeIgniter框架在Nginx下的重写规则

最近研究CI框架,发现这个框架的路由功能在Nginx下有问题,报404错误,后来在网上查资料,
发现需要开启PATH_INFO。在nginx7.16以后貌似就支持PATH_INFO了,只需要在配置文件中开启即可。
打开nginx.conf文件,在你的虚拟主机下增加重写规则,代码如下:


代码如下:

server {

listen      80;
       server_name   www.ci.com;
       location / {
           root  d:/www/Codeigniter_2.0.1/;
           index  index.html index.htm index.php;
       rewrite ^/$/index.php last;
       rewrite^/(?!index\.php|robots\.txt|images|js|styles)(.*)$ /index.php/$1last;
       }
    location ~^(.+\.php)(.*)$ {
      root     D:/www/Codeigniter_2.0.1/;
      fastcgi_index   index.php;
      fastcgi_split_path_info ^(.+\.php)(.*)$;
      fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name;
      fastcgi_param   PATH_INFO      $fastcgi_path_info;
      fastcgi_param   PATH_TRANSLATED   $document_root$fastcgi_path_info;
      fastcgi_pass   127.0.0.1:9002;
      include   fastcgi_params;
    }
}

(0)

相关推荐

  • php基于CodeIgniter实现图片上传、剪切功能

    本文实例为大家分享了codeigniter 图片上传.剪切,控制器类,供大家参考,具体内容如下 <?php defined('BASEPATH') OR exit('No direct script access allowed'); class Index extends MY_Controller { function __construct(){ parent::__construct(); $this->load->helper(array('form', 'url')); }

  • 在CODEIGNITER中 在CI中引入外部的JS与CSS呢

    但今天在用CI时,却忘记了,搞了很久都没有出来,上了CI的中国官方网,终于在他们帮助下把问题觖决了,在这里把它贴出来,供大家分享. (另注:我这里是隐藏了url中的index.php文件的,与不隐藏有所不同,但最终都是采用绝对URL) 首先,我在.htaccess文件里设置(作用是隐藏index.php),如下: RewriteEngine on RewriteCond $1 !^(index\.php|images|js|img|css|robots\.txt) #在这里写要排除的资源等 Re

  • 使用CodeIgniter的类库做图片上传

    CodeIgniter的文件上传类允许文件被上传.您可以设置指定上传某类型的文件及指定大小的文件. 上传文件普遍的过程: 一个上传文件用的表单,允许用户选择一个文件并上传它.当这个表单被提交,该文件被上传到指定的目录.同时,该文件将被验证是否符合您设定的要求.一旦文件上传成功,还要返回一个上传成功的确认窗口. 下面是表单: 复制代码 代码如下: <form method="post" action="<?=base_url()?>admin/img_uplo

  • Codeigniter上传图片出现“You did not select a file to upload”错误解决办法

    Codeigniter自带的文件上传类非常好用,您可以设置指定上传某类型的文件及指定大小的文件.不过在使用的过程中需要注意一些小问题,否则会让你感到措手不及. 很多开发人员在使用Codeigniter的upload上传类时候,总是出现"You did not select a file to upload"错误,从代码里面看并没有什么错误,这是怎么回事呢? 1.文件域的名字被修改 方法一: 例如将Views文件的文件域的名字修改成了fileimg,而CI默认的文件域的名字是userfi

  • CodeIgniter上传图片成功的全部过程分享

    最近几天正在做一个小型CMS,用到图片上传了,想利于CodeIgniter的上传类去实现,但测试中有好多问题,我把经过和要注意的地方分享一下! 复制代码 代码如下: <?php echo form_open_multipart('picture/upload');?><?php echo form_upload('userfile');?> /*注意,这里是userfile,$this->upload->do_upload(),这里do_upload默认上传文件的表单名

  • CI(CodeIgniter)框架中的增删改查操作

    CodeIgniter的数据函数类在 \system\database\DB_active_rec.php 复制代码 代码如下: <span style="font-size:16px;">class ModelName extends CI_Model {     function __construct()     {         parent::__construct();     } }</span> 连接数据库:$this->load->

  • CodeIgniter错误mysql_connect(): No such file or directory解决方法

    首先CodeIgniter连接数据库连不上,总是显示连接错误,但是又没有error信息,难以debug. 解决方案是:在application/config/database.php文件的最后加上这一段代码: 复制代码 代码如下: echo '<pre>'; print_r($db['default']); echo '</pre>'; echo 'Trying to connect to database: ' .$db['default']['database']; $dbh=

  • CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法

    本文实例讲述了CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法.分享给大家供大家参考.具体如下: 因为某网站看图比较坑爹,要一页一页的翻页....所以....就写了这么个东西 (我是产品不是程序员)运行速度简直无法忍受,而且经常会有错误发生,所以希望大家帮忙改进(PHP). 当然也欢迎看到PYTHON,GOLANG的版本~~^_^ 1. controllers: $this->load->helper('date'); $this->load->helper('p

  • codeigniter上传图片不能正确识别图片类型问题解决方法

    在用 codeigniter 的上传类上传图片的时候,明明是 jpg 格式图片,但是 ci 始终识别成 application/octet-stream 类型,从而导致上传失败,搜集了下资料,解决方法如下: 在 php.ini 中开启 fileinfo 扩展来获取正确的类型: 复制代码 代码如下: //windows extension = php_fileinfo.dll //linux extension = fileinfo.so 注:关于fileinfo PHP官方推荐mime_cont

  • Codeigniter实现智能裁剪图片的方法

    一副1024*768大小的图片,裁剪到240*240大小,裁剪后不失真,尽可能保留图片主题含义. 我使用到的方法: 1. 先将图片等比例缩略到可以裁剪的大小: 如果是宽幅图片,则按高度等比例缩放到高度 = 240px,窄幅图片(高度大于宽度)则按宽度等比例缩放: 2. 按长宽格式居中裁剪: 保留缩略后的图片中间部分: 复制代码 代码如下: $this->load->library('image_lib');                list($width, $height) = geti

随机推荐