nginx支持codeigniter的pathinfo模式url重写配置写法示例

开发环境

codeigniter 2.14
PHP 5.4.18
nginx 1.4.2

Codeigniter配置

打开 codeignite 的 config.php 文件修改如下:

  $config['uri_protocol'] = "PATH_INFO";    

nginx配置

打开 nginx 的配置文件 nginx.conf 文件,修改如下:

  # 我使用的是虚拟主机配置  server {    listen  80;    server_name dev.example.com;      rewrite_log on;      root /www/web/htdocs/dev.example.com;    index index.php index.html index.htm;      location / {      index index.php index.html index.htm;    }      location ~ .php($|/) {     fastcgi_pass 127.0.0.1:9000;     fastcgi_index index.php;     fastcgi_split_path_info ^(.+.php)(.*)$;     fastcgi_param PATH_INFO $fastcgi_path_info;     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;     include  fastcgi_params;    }      if (!-e $request_filename) {     rewrite ^/(.*)$ /index.php/$1 last;     break;    }      location ~ /.ht {      deny all;    }  }    

现在就可以用pathinfo模式访问了,如:

参与评论