当前位置: 首页 > 后端技术 > PHP

nginx下thinkphp的URL重定向

时间:2023-03-29 18:24:50 PHP

最近在使用thinkPHP框架开发的时候遇到了一个问题。将项目部署到linux上,使用nginx作为服务器时,出现了URL重定向的问题。本地使用相同的URL后缀环境可以正常访问,但是在服务器上出现404,但是使用TP的全路径URL是可以访问的。后来查了一下,发现是本地环境和服务器使用的服务载体不一样。本地环境使用Apache,服务器使用nginx。查看TP官方文档,问题解决:Apache的URL重写:RewriteEngineonRewriteCond%{REQUEST_FILENAME}!-dRewriteCond%{REQUEST_FILENAME}!-fRewriteRule^(.*)$index.php/$1[QSA,PT,L]nginxrewrite需要在nginx配置信息中加入:location/{//.....省略部分代码if(!-e$request_filename){rewrite^(.*)$/index.php?s=$1最后;休息;}}然后把项目的URL_MODEL改成2:'URL_MODEL'=>2,URL访问模式,可选参数0,1,2,3,代表以下四种模式:0(普通模式);1(路径信息模式);2(重写模式);3(兼容模式)默认为PATHINFO模式参考文档:TP官方文档