PHP 为Thinkphp 配置 Nginx phpinfo 模式
在使用Thinkphp的时候,项目迁移到nginx上的时候,有时候会出现处理IndexAction能访问,其他控制器无法访问的问题,那么该如何解决呢?请往下看解决方案其实是nginx默认并没有开启phpinfo模式,所以在Apache里能用的Thinkphp,迁移到Nginx之后会出现控制器无法查找到的问题,解决方法是打开nginx.conf 或者对应的虚拟机conf配置文件,做以下调整:serv
·
在使用Thinkphp的时候,项目迁移到nginx上的时候,有时候会出现处理IndexAction能访问,其他控制器无法访问的问题,那么该如何解决呢?请往下看
解决方案
其实是nginx默认并没有开启phpinfo模式,所以在Apache里能用的Thinkphp,迁移到Nginx之后会出现控制器无法查找到的问题,解决方法是打开nginx.conf 或者对应的虚拟机conf配置文件,做以下调整:
server {
location / {
//如果是资源文件,则不走phpinfo模式
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php?s=$1 last;
}
}
}
在server花括号里,我们加多上面这段代码,可以看到他是一个正则文件,正则在很多地方都用得到,这个的意思是,匹配 / 后面的所有数据,将其拼接到 index.php后面,通过重写伪静态规则,实现phpinfo模式访问。
如果根目录下有两个项目,比方说前台后台,建议后台建立文件夹,比如 /admin 。而根目录则放前端的文件夹,在写规则的时候,要遵守:下级目录路由规则,排在上级目录路由规则上面,这样里面的一层文件夹的项目,才能解析成功。
改完别忘记重启下 nginx ,这个配置才能生效哦。
更多推荐
已为社区贡献2条内容
所有评论(0)