您的位置:首页 > 运维架构 > Nginx

codeigniter在nginx安装配置及URL重写

2016-06-30 00:00 447 查看
官方文档 https://www.nginx.com/resources/wiki/start/topics/recipes/codeigniter/
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
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 / {

# 这里使用try_files进行url重写,不用rewrite了。

try_files $uri $uri/
/index
.php?$query_string;

}


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;

    
includefastcgi_params;

}


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了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: