东东东 陈煜东的博客

codeigniter在nginx安装配置及URL重写

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

codeigniter修改

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

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

修改nginx配置

对nginx的进行配置,nginx.conf

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;
            include        fastcgi_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了。

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: codeigniter在nginx安装配置及URL重写 – https://www.chenyudong.com/archives/codeigniter-in-nginx-and-url-rewrite.html

分类: 网络

chrome v32解决QQ快速登录、支付宝、财付通安全控件启用插件 » « 腾讯入股搜狗,形成全新的搜狗公司

9 评论

  1. 感谢~~帮大忙了~~

  2. 专门登陆来感谢下,造福人类

  3. 我是直接用加了index.php 去访问默认控制器都是404

  4. 太感谢博主啦 困扰我的问题好久了 终于解决了

  5. 感谢博主指点

  6. listen [::]:80 ipv6only=on;需要配置nginx开启IPV6,有没有不配置IPV6就能用的

  7. 谢博主了,解决了我这一大问题。

  8. 感谢博主,这个问题我收拾了快一个星期了

发表评论

邮箱(不会被公开)

*

Copyright © 2017 东东东 陈煜东的博客 粤ICP备13059639号-1

SITEMAP回到顶部 ↑