Nginx配置二级子目录示例

本配置示例在ThinkPHP5 环境下亲测有效,二级目录配置与根目录配置完全独立。主要是通过 ^~ 把sub路径的路由全部接收过来,然后在子location里面进行二次路由和解析,比较方便灵活。之前一直以为location是不能嵌套的,通过这次实践,发现这样用的好处了,确实很方便。

server {
    listen       80 ;

    index        index.php index.html;

    location ^~ /sub/ {
	set  $subroot /home/peaksite/public/;
        alias $subroot;
        if ( !-e $request_filename) {
            rewrite ^/sub/(.*)$ /sub/index.php/$1 last;
            break;
        }
        location ~ \.php {
            fastcgi_pass   127.0.0.1:9000;
            set $scriptname '';
            set $pathinfo '';

            if ( $uri ~ ^/sub/(.+\.php)($|/.+) ) {
                set $scriptname $1;
                set $pathinfo $2;
            }

            fastcgi_param  SCRIPT_FILENAME  $subroot/$scriptname;
            fastcgi_index    index.php?IF_REWRITE=1;
            fastcgi_param    PATH_INFO    $pathinfo;
            fastcgi_param    SCRIPT_FILENAME    $subroot/$scriptname;
            include fastcgi_params;
        }
    }

}

  

  

转载于:https://www.cnblogs.com/theluther/p/9320510.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值