nginx如何配置兼容ThinkPHP各种url模式

我们知道ThinkPHP是有多种访问模式的,比如较常用的普通模式以及rewrite模式,也就是网址 /index.php?m=Zhonglian&c=Index&a=register 以及 网址 /DailiUser/alipay_notify_url,这两种模式用得比较多了。

为什么要做多种兼容呢,因为最近做了支付宝的回调,而支付宝是不认第一种模式的,只能使用 rewrite 模式,而我本地使用的是 nginx 服务器,所以需要在 nginx里面去做一下兼容配置了,配置的方法也很简单,在linux或者windows+nginx的环境下配置 nginx.conf 文件。

location / {    
     root /var/www;    
     index index.html index.htm index.php;    
     if (!-e $request_filename) {    
         rewrite ^/index.php(.*)$ /index.php?s=$1 last;    
         rewrite ^(.*)$ /index.php?s=$1 last;    
         break;    
     }    
 }    

好了,配置成功之后,Thinkphp的三种模式都可以兼容使用了,在本地的话就可以使用普通的模式,如果使用支付宝或者微信支付等回调的话就可以使用 rewrite 类的模式。

标签:PHPNginx 发布于:2019-10-30 13:18:57