如果安装的是军哥的lnmp的话,只需要加一个rewrite:
在/usr/local/nginx/conf目录创建个ci.conf,代码是:
location / { if ($request_uri ~* ^/system) { rewrite ^/(.*)$ /index.php?/$1 last; break; } if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?/$1 last; break; }}
创建虚拟主机的时候添加rewrite文件为ci即可。
如果是其他安装的话,nginx需要开启path_info(军哥的lnmp默认已经开启)
开启需要更改配置文件
server{listen 80;server_name localhost;index index.php;root /home/wwwroot; #修改为项目对应的根目录location ~ .*.php($|/){root /home/wwwroot; #修改为项目对应的根目录fastcgi_param SCRIPT_FILENAME /home/wwwroot$fastcgi_script_name;fastcgi_split_path_info ^(.+\.php)(.*)$;fastcgi_param PATH_INFO $fastcgi_path_info;include fastcgi_params;fastcgi_pass unix:/tmp/php-fcgi.sock;fastcgi_index index.php;}}
此外还要找到php.ini(/usr/local/php/etc/php.ini)的配置文件(若不修改,会出现No input file specified问题)
搜索关键词:cgi.fix_pathinfo将此设置为1:cgi.fix_pathinfo=1参考地址:http://www.sqroc.net/ci_nginx.html