解决 nginx 服务器不支持 ThinkPHP 框架的问题

最近在用 ThinkPHP 做一个项目,基本完成后部署到 nginx 服务器上才发觉 nginx 是不支持 pathinfo 的,网上搜索了别人的解决方法,有两种思路:
1、修改 ThinkPHP 让他可以在 nginx 上运行
2、修改 nginx 让它支持 pathinfo
网上说 nginx 开启 pathinfo 是有一定风险的,能不用 pathinfo 最好不用,所以还是折腾 ThinkPHP 吧,个人觉得这种方法相对第2种方法来得简单。
修改 nginx 的 rewrite


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

}

www.onesheng.cn

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


1
'URL_MODEL'=>2,
如果是多个项目,布署项目时要把项目布署到目录里,如后台的项目放到 Admin 目录里,那么在 nginx 的 rewrite 里再写一条


1
2
3
4
5
6
location /Admin/ { 
    if (!-e $request_filename) { 
        rewrite ^/Admin/(.*)$ /Admin/index.php?s=$1 last; 
        break; 
    } 
}
最后也不要忘记把这个项目的 url 模式改为2。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值