Nginx配置tp5支持pathinfo以及隐藏入口文件

最近做微信公众号的开发,服务器上搭建的是LNMP环境,由于nginx默认是不支持pathinfo的,所以需要修改nginx.conf

注:我直接使用服务器IP进行微信token认证时总是失败,后来发现是因为使用了非80端口,不知道小伙伴们是否跟我一样遇到同样的问题

另外推荐一个免费内网映射工具:NATAPP,此乃微信接口调试神器o(∩_∩)o 哈哈!!!
server {

    listen 8088;
    server_name localhost;

    access_log logs/access.log;
    error_log  logs/error.log;

    #root是下面设计到文件路径的根目录
    root /usr/share/nginx/html;
    index index.html index.php;

    #定义变量
    set $root /usr/share/nginx/html;

    #匹配url中server_name之后的部分
    location /tp5/public/ {
        #重写url 为了隐藏tp5中的index.php
        if ( !-e $request_filename) {
            #将url中server_name之后的部分与 /tp5/public/* 匹配 如果匹配则改写URl为/tp5/public/index.php/*
            rewrite ^/tp5/public/(.*)$ /tp5/public/index.php/$1 last;
            break;
        }
    }

    #pathinfo配置 使支持tp5的标准url
    location ~ .+\.php($|/) {
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;    #不支持的改为:127.0.0.1:9000;
        fastcgi_split_path_info ^((?U).+.php)(/?.+)$;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $root$fastcgi_script_name;
        include fastcgi_params;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 小伙伴在使用ThinkPHP搭建自己或者公司项目的时候,url模式设置成为兼容模式,也就是URL_MODEL的值为...
    思梦PHP阅读 1,253评论 0 1
  • Page 1:nginx 服务器安装及配置文件详解 CentOS 6.2 x86_64 安装 nginx 1.1 ...
    xiaojianxu阅读 8,622评论 1 41
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,288评论 19 139
  • 《老男孩Linux运维》笔记 隐藏Nginx软件版本号 一般来说,软件的漏洞都和版本有关。因此要尽量隐藏对访问用户...
    Zhang21阅读 3,757评论 0 28
  • 当总是回忆起一个人时 我们要对这个人说 我想你了 当总是梦见一个人时 我们要对这个人说 我想你了 当总是想看见一个...
    冷冷的孤独阅读 217评论 0 2