lnmp或ngnix下codeigniter配置

如果安装的是军哥的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

posted @ 2013-01-23 17:44  myzykj  阅读(356)  评论(0)    收藏  举报