[BD2.0] Nginx重写配置规则, 支付回调问题

96 阅读1分钟

遇到的问题

  • 不加?server=1的话 无法请求到这个方法, 加了的话又不符合回调URL的要求
  • 加index.php的话, 后台访问又有问题,提示控制器模块Index/Php不存在
https://domain.com/index.php/api/PayNotify/wechat
官方文档
https://doc.buildadmin.com/guide/install/webHistory.html#%E7%AC%AC%E4%BA%8C%E6%AD%A5-%E9%85%8D%E7%BD%AE%E6%9C%8D%E5%8A%A1%E5%99%A8

解决方法

修改NGINX的配置规则, 然后添加index.php

      # 将 index.html 放在第一位可以实现隐藏 index.html
      index index.html index.php error/index.html;

      # 这一段为 URL重写规则 请确保存在
      set $server 0;
      if ($request_uri ~* "server=1") {
          set $server 1;
      }
      if ($http_server) {
          set $server 1;
      }
      if ($server = 1) {
          rewrite  ^(.*)$  /index.php?s=/$1  last;
          break;
      }
      try_files $uri $uri/ /index.html;
      # 结束

另外的问题: 无法修改支付配置中的内容, 直接改文件config/pay.php