解决thinkphp在不支持pathinfo的nginx上的问题

解决thinkphp在不支持pathinfo的nginx上的问题

2015年08月23日 Linux 暂无评论 阅读 339 views 次

最近使用thinkphp和redis写了一个仿微博的一个小项目,但是当部署到nginx服务器上时竟然都是404,经过百度才发现是因为nginx是不支持pathinfo。于是在网上找到了解决方案:

在项目对应的的配置文件中加入

location / { 

    if (!-e $request_filename) { 

       rewrite ^(.*)$ /index.php?s=$1 last;  break; 

     } 

}

这段代码但一定要放在

location /{

}

然后将location ~ .+\.php的内容修改如下

location ~ .+\.php {
     25                       fastcgi_pass default_ups;
     26                       fastcgi_index index.php;
     27                       include fastcgi_params;
     28
     29               set $path_info "";
     30               set $real_script_name $fastcgi_script_name;
     31                   if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
     32                   set $real_script_name $1;
     33                   set $path_info $2;
     34               }
     35               fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
     36               fastcgi_param SCRIPT_NAME $real_script_name;
     37               fastcgi_param PATH_INFO $path_info;
     38
     39
     40
     41          }

并且项目配置下url模式改为2:'URL_MODEL'=>2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值