您的位置:首页 > 编程语言 > PHP开发

thinkphp3.2版本url访问:总是走默认文件默认方法

2017-05-27 00:00 453 查看
这两天帮朋友改动thinkphp项目

刚开始配置项目,发现thinkphp总是走默认的模块默认的文件默认的方法,不管url怎么修改都不行,都是访问默认的,一开始我以为是代码写错了,跟了无数个断点后发现不是代码的问题,是thinkphp的url访问问题 http://localhost:9999/index.php?c=Read&a=index 这样的URL是能正常访问我自己的控制器和操作的,那问题就在于我的thinkphp不支持PATHINFO方式了!

再看3.2的开发手册,原来是低版本的nginx不支持

解决直接贴代码:

#去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo

location ~ .*\.php
{
try_files $uri =404;
fastcgi_pass  unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;

set $path_info "";
set $real_script_name $fastcgi_script_name;

if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐