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

来源:转载

这两天帮朋友改动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_passunix:/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;
}

分享给朋友:
您可能感兴趣的文章:
随机阅读:
栏目列表
推荐内容