Nginx设置thinkphp伪静态

在Nginx低版本中,是不支持PATHINFO的,但是可以通过在nginx的配置文件Nginx.conf中配置转发规则实现
添加下面代码即可

location / {
   if (!-e $request_filename) {
        rewrite  ^(.*)$  /index.php?s=/$1  last;
    }
 // …..省略部分代码
}

其实内部是转发到了ThinkPHP提供的兼容URL,利用这种方式,可以解决其他不支持PATHINFO的WEB服务器环境。
如果你的应用安装在二级目录,Nginx的伪静态方法设置如下。

location /xxx/ {
    if (!-e $request_filename){
        rewrite  ^/xxx/(.*)$  /xxx/index.php?s=/$1  last;
    }
}

其中xxx是所在的目录名称。

设置后,可以去掉index.php直接访问

#设置前
http://xxx.com/index.php/模块/控制器/操作/[参数名/参数值...]
#设置后
http://xxx.com/模块/控制器/操作/[参数名/参数值...]

你可能感兴趣的:(Nginx设置thinkphp伪静态)