PHP CI框架下,如果配置NGINX(根目录和子目录两种模式)

摸索了一会儿,先配置成功,再看看PATH_INFO之类的东东吧。

A,根目录:

location ~ \.php($|/) {
            root           html;
            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 ^(.*)$ /$1 last;
            break;
        }

B,子目录:

location /CI/ {
            if (!-e $request_filename) {
                rewrite ^/CI/(.*)$ /CI/index.php/$1 last;
                break;
            }
         }
        location /CI/index.php {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

时间: 2024-10-07 18:10:39

PHP CI框架下,如果配置NGINX(根目录和子目录两种模式)的相关文章

nginx连接fastcgi有两种模式

nginx连接fastcgi有两种模式:1. 用ip进行连接,例如 fastcgi_pass 127.0.0.1:9000; 2. 用socket进行连接,例如 fastcgi_pass unix:/tmp/php-cgi.sock;

CI框架中如何配置Nginx

codeigniter(CI)是一个轻量型的PHP框架,因为它是在apache服务器下开发的,所以在nginx下需要特别的配置才可以使用. 具体方法如下: 1.对application/config/config.php进行修改,大约在48行左右.   $config['uri_protocol'] = "PATH_INFO"; 2.配置nginx.conf文件 server { listen       80; listen [::]:80 ipv6only=on; server_n

CI框架下nginx重写规则

因为: server { listen 80; server_name 222.73.130.124; location / { index index.html index.htm index.php; root /data0/htdocs/www; if (!-e $request_filename) { rewrite "^/(.*)$" /index.php last;//这一条很重要 } rewrite ^/$/index.php last; } location ~ .*\

CI框架下的get_instance() 函数

你随便下个CI框架的源码都会看到很多的get_instance() 函数,这个函数是用来获取CI 的全局超级对象,CI 是单例模式的框架,所有全局有一个超级对象.因为只有一个实例,所以无论这个函数使用多少次都不会消耗资源的.一般来说,只有在helper或library中才使用get_instance. 以前我们都是这样用的:$this->load->library('session'); $this只作用在你自己的控制器.模型.视图中,如果你在自定义的类中也想使用CI的函数话,你就可以这样做:

ThinkPHP教程_PHP框架之ThinkPHP(二)【URL路径访问与模块控制器、URL四种模式、PATHINFO的两种模式、模板与控制器之间的关系】

一.URL路径访问与模块控制器 URL 模块(控制器) 动作(方法) 即以上三者之间的关系URL:http://127.0.0.1/projectName/index.php/模块/动作 1.ThinkPHP规定,两点 ·第一.所有的主入口文件默认访问index控制器(模块) ·第二.所有的控制器默认执行index方法(动作) 特别强调一下,以上两点是独立的!也就是说"所有的主入口文件默认访问index控制器,并执行默认执行index方法"是不准确的 那么,http://127.0.0

vue路由的两种模式配置以及history模式下面后端如何配置

vue路由的两种模式配置以及history模式下面后端如何配置 1.hash ——即地址栏URL中的#符号.hash 虽然出现URL中,但不会被包含在HTTP请求中,对后端完全没有影响,因此改变hash不会重新加载页面.2.history ——利用了HTML5 History Interface 中新增的pushState() 和replaceState() 方法.需要特定浏览器支持history模式,会出现404 的情况,需要后台配置.3.hash模式下,仅hash符号之前的内容会被包含在请求

Centos7.3 下SQL Server 备份及还原的两种方式

Centos7.3 下SQL Server 备份及还原的两种方式 我们前面两篇文章介绍了Centos7.3下SQL Server的安装配置及使用Powershell的管理介绍,今天我们接着介绍如何实现Centos7.3 下SQL Server  备份及还原,有两种方式:1.使用SSMS备份及还原,该方式最为简单也最方便操作的方式,2.使用Linux下SQL Server自带功能命令备份,具体见下: 我们上一篇中创建了一个测试数据库,我们接着拿这个数据库进行测试,我们首先使用第一种方式,使用SSM

System.Web.Http.Cors配置跨域访问的两种方式

System.Web.Http.Cors配置跨域访问的两种方式 使用System.Web.Http.Cors配置跨域访问,众多大神已经发布了很多文章,我就不在详细描述了,作为小白我只说一下自己的使用心得.在webapi中使用System.Web.Http.Cors配置跨域信息可以有两种方式.  一种是在App_Start.WebApiConfig.cs的Register中配置如下代码,这种方式将在所有的webapi Controller里面起作用. using System; using Sys

【UEFI+GPT/BIOS+MBR】两种模式在Windows系统下安装Ubantu系统

最近在联想Windows10下安装了Ubantu16.04的系统,踩了很多坑,写下来分享一下. 通过网络资料,理解BIOS+MBR一直是之前电脑的Windows系统安装和引导的模式,但Win8问世后,基本上都采用UEFI+GPT模式了.这两种模式在安装Ubantu系统的时候有一点小小的区别. 一.将Windows10系统分区,划出Ubantu系统的单独盘 因为不知道安系统时会出现什么问题,所以最好从其它盘中单独划出一个盘来安装Ubantu系统,我的F盘内容不多,所以划分了一半出来,大概63GB大