关于thinkphp3.2项目Apache换nginx服务器 伪静态 、路由urldecode问题

背景:
一个老的TP3.2官方人才网的项目,服务器一直被人攻击,Apache根本顶不住,加了cdn也无济于事,(加高防的好像要不少钱),换了nginx终于是能顶住了。然后在宝塔上配了Apache转nginx的伪静态。

BUG:
人才网内的搜索一直会多urldecode一遍

解决方案:
折腾了一下午,都没有完全解决,最后发现TP有四种路由模式。

ThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义,包括普通模式、PATHINFO、REWRITE和兼容模式。
1.普通模式:‘URL_MODEL’=>0,
http://serverName/appName/?m=module&a=action&id=1
2.PATHINFO模式:‘URL_MODEL’=>1,(系统默认的模式)
3.REWRITE模式:‘URL_MODEL’=>2,
该URL模式和PATHINFO模式功能一样,除了可以不需要在URL里面写入口文件,和可以定义.htaccess 文件外。
例如,我们可以增加如下的.htaccess内容把所有操作都指向index.php文件。
4.兼容模式:‘URL_MODEL’=>3,
兼容模式是普通模式和PATHINFO模式的结合,并且可以让应用在需要的时候直接切换到PATHINFO模式而不需要更改模板和程序,基本上可以支持任何的运行环境。

最后切换成最后一种兼容模式,就解决了。

–更新

兼容模式也有bug了,我只能再改到普通模式,竟然也解决了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值