今天将自己代码传到线上服务器,页面上用到很多thinkphp U() 方法生成的链接。本地测试没啥问题,到线上发现链接生成的不对,每个都没有了host
每个链接多个index,然后查看tp的U方法:
$url = __APP__.'/'.($module?$module.MODULE_PATHINFO_DEPR:'').implode($depr,array_reverse($var));
是因为__APP__这里的原因,然后找到__APP__赋值的地方:
define('__APP__',strip_tags(PHP_FILE));
和PHP_FILE有关,继续找
= (,$_SERVER[]); (, (($_SERVER[],,[].),));
最后发现和$_SERVER["PHP_SELF"]有关系,这里问题基本锁定了,最后搜了下,这个值和php.ini的
cgi.fix_pathinfo配置有关系,把cgi.fix_pathinfo=1设置成0就OK了!U方法就正常了
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。