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
刚开始配置项目,发现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; }
相关文章推荐
- 更改apache(2.2.17版本)默认文件路径引起的无权限访问问题的解决方法
- ThinkPHP3.2判断手机端访问并设置默认访问模块的方法
- Thinkphp3.2对于URL访问模式PATHINFO 模式导入css,js文件冲突问题详解
- ThinkPHP3.2判断手机端访问并设置默认访问模块的方法
- 2016/5/6 thinkphp ①框架 ② 框架项目部署 ③MVC模式 ④控制器访问及路由解析 ⑤开发和生产模式 ⑥控制器和对应方法创建 ⑦视图模板文件创建 ⑧url地址大小写设置 ⑨空操作空控制器 ⑩项目分组
- ThinkPHP隐藏url入口文件 并设置默认模块
- 修改Visual Studio 2015 Community默认程序文件编码为GB2312暨解决老版本显示乱码或汉字字符报错的方法
- ThinkPHP3.2判断是否为手机端访问并跳转到另一个模块的方法
- ThinkPHP中url隐藏入口文件后接收alipay传值的方法
- thinkPHP3.2简单实现文件上传的方法
- 让ThinkPHP支持大小写url地址访问的方法
- Thinkphp3.2 下载文件的方法
- thinkphp默认的URL如何访问
- Thinkphp 3.2 解决F写入配置文件的方法
- ThinkPhp 3.2 U函数,入口文件跳转方法
- thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
- 未能加载文件或程序集system.web.extensions解决方法(vs08(默认为3.5)发布成版本为2.0的方法)
- thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
- thinkphp3.2 home为默认模块,怎么隐藏掉home,在url里面。
- thinkPHP5.0框架URL访问方法详解