• [Nginx] Nginx配置PHP应用传递PATH_INFO变量


    这里比较兼容的处理是:

    server {
            listen       80;
            server_name  域名;
            root   路径;
            if (!-e $request_filename) {
                    rewrite ^/(.*)$ /index.php/$1 last;
                    break;
            }
            access_log  /var/log/nginx/域名-access.log;
            error_log  /var/log/nginx/域名-error.log;
            location / {
                index  index.php;
            }
    
            location ~ .php {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_read_timeout        60s;
                fastcgi_split_path_info  ^((?U).+.php)(/?.+)$;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                fastcgi_param  PATH_INFO  $fastcgi_path_info;
                fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
                include        fastcgi_params;
            }
    } 

    这里是非贪婪模式:

    fastcgi_split_path_info  ^((?U).+.php)(/?.+)$;

    (?U)表示对后面的子串进行非贪婪匹配

    fastcgi_split_path_info  ^(.+.php)(/.*)$; 这种是贪婪匹配,具体区别看下图

    非贪婪下,只匹配到第一个.php

    贪婪下匹配到最后一个.php

    开源作品

    GO-FLY,一套可私有化部署的免费开源客服系统,安装过程不超过五分钟(超过你打我 !),基于Golang开发,二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能
    github地址:go-fly
    官网地址:https://gofly.sopans.com

    赞赏作者

    微信交流

  • 相关阅读:
    Cygwin 与 MinGW/MSYS/MSYS2,如何选择?甚至还有GNU utilities for Win32
    MinGW和MSYS项目是在一起的(翻译官网)
    库存限购
    ElasticSearch指南
    Windows系统的Jenkins持续集成环境
    JavaScript 框架
    Istio Service Mash管理微服务
    LinkedIn微服务框架rest.li
    Istio微服务架构初试
    github
  • 原文地址:https://www.cnblogs.com/taoshihan/p/14566825.html
Copyright © 2020-2023  润新知