解析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;

  }

  }