默认情况下nginx是不支持pathinfo的。
虽然说配置支持pathinfo不难,但是呢,网上的教程没几个可以用的,麻蛋我忙活了2天也没搞好这个
最后用了一个最简单的方法解决了
把thinkphp的URL_MODE设置为3
就是下面这种风格
index.php?s=/portal/index/test
其实原来很简单
就是通过rewrite
首先先把index.php/XXX 后面的参数转成 s=/XXX
然后在把index.php rewrite
location / {
index index.php index.html index.htm;
if (!-e $request_filename) {
rewrite ^/index.php(.*)$ /index.php?s=$1 last;
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
其实我是不建议用兼容模式的,但是让thinkphp支持pathinfo这种方法绝对是最快的,嘿嘿