thinkphp在nginx下pathinfo支持


在apache下运行正常,但是在nginx下内页都是404空白。

解决办法:


首先:修改nginx的rewrite

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


然后:项目配置下url模式改为2

'URL_MODEL'=>2,


重启nginx后ok




参考ThinkPHP官网:http://www.thinkphp.cn/topic/6205.html




附:thinkphp URL模式


普通模式:设置URL_MODEL 为0

http://serverName/appName/?m=module&a=action&id=1


PATHINFO模式(默认模式):设置URL_MODEL 为1

http://serverName/appName/module/action/id/1/


REWRITE模式: 设置URL_MODEL 为2

该URL模式和PATHINFO模式功能一样,除了可以不需要在URL里面写入口文件,和可以定义.htaccess 文件外。在开启了Apache的URL_REWRITE模块后,就可以启用REWRITE模式了


兼容模式: 设置URL_MODEL 为3

兼容模式是普通模式和PATHINFO模式的结合

http://serverName/appName/?s=/module/action/id/1/