当前位置: > Linux服务器 > nginx >

codeigniter在nginx安装配置及URL重写

时间:2015-02-23 01:09来源:linux.it.net.cn 作者:IT

codeigniter(CI)是一个轻量型的PHP优秀框架,但是它是在apache服务器下开发的,在nginx下需要特别的配置才可以使用。

codeigniter修改

对application/config/config.php进行修改,大约在48行左右。

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

修改nginx配置

对nginx的进行配置,nginx.conf

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
server {
        listen       80;
        listen [::]:80 ipv6only=on;
        server_name  www.example.com;
 
        root   /data/www/www.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;
        }
}

要特别注意19行的include fastcgi_params;,如果没有这一行,那么你的PHP程序会无法运行的。我被这个坑了很多次了。

访问url

在CI框架下,有一个默认的controller,叫welcome。原先在没有nginx的rewrite前,我们需要通过这样的方式访问http://www.example.com/index.php/welcome/index。现在我们可以http://www.example.com/welcome/index这样访问URL了。

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容