VPS侦探论坛

 找回密码
 注册
查看: 4003|回复: 3

lnmp1.3 thinkphp3.2 pathinfo 模式下 U方法生成错误

[复制链接]
发表于 2017-3-13 21:14:49 | 显示全部楼层 |阅读模式

public function windex(){
echo  U('Index/getcode');die();
}

生成url /Home/index/windex.php/Home/Index/getcode.html


public function index(){
echo  U('Index/getcode');die();
}


生成url /Home/index/index.php/Home/Index/getcode.html




php.ini cgi.fix_pathinfo=1;
虚拟主机里面也替换了
#include enable-php.conf;
include enable-php-pathinfo.conf;
其他配置文件没有改动 tp 的'URL_MODEL'=>1, 求指点




美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2017-3-13 21:21:47 | 显示全部楼层


修改了ThinkPHP的框架入口文件

    if(!defined('_PHP_FILE_')) {
        if(IS_CGI) {
            //CGI/FASTCGI模式下
            $_temp  = explode('.php',$_SERVER['PHP_SELF']);
            // define('_PHP_FILE_',    rtrim(str_replace($_SERVER['HTTP_HOST'],'',$_temp[0].'.php'),'/'));
            define('_PHP_FILE_',    rtrim($_SERVER['SCRIPT_NAME'],'/'));
        }else {
            define('_PHP_FILE_',    rtrim($_SERVER['SCRIPT_NAME'],'/'));
        }
    }
就显示
模板不存在:./App/Home/View/Index/Index.html
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
发表于 2017-3-14 15:55:47 | 显示全部楼层

回复 1# 的帖子


程序上我们不清楚

开pathinfo不需要改cgi.fix_pathinfo
https://lnmp.org/faq/lnmp-vhost-add-howto.html#pathinfo
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2018-1-24 14:25:29 | 显示全部楼层

回复 3# 的帖子




我的配置按https://lnmp.org/faq/lnmp-vhost-add-howto.html#pathinfo这个配置后,变成入口文件ry.php后跟着就是控制器Index,然后是方法userlogin(http://www.fjcnhk.top/ry.php/Index/userlogin  ),正常的pathinfo是http://www.fjcnhk.top/ry.php/Ry/Index/userlogin    ,少了Ry;
然后用thinkphp的U方法就变成了 http://www.fjcnhk.top/Index/userlogin.php/Index/userlogin.html;
我的域名.conf的配置是
server {
        listen       80;
        server_name  www.fjcnhk.top;
        root   /www/thinkphp;
        index index.php;
        
        location ~ ^(.*)/.svn/ {
                deny all;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        include enable-php-pathinfo.conf;  #这里是看了你们的建议修改的
        location / {
            if (!-e $request_filename)
            {
              rewrite ^(.*)$ /index.php?s=/$1 last;
            }
        }

        location ~ .php$ {
            fastcgi_pass  unix:/tmp/php-cgi.sock;
            fastcgi_index index.php;
            include pathinfo.conf;
            include fastcgi.conf;
        }
         
    }
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-9-24 17:19 , Processed in 0.026609 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表