thinkphp U方法生成链接没有host
今天将自己代码传到线上服务器,页面上用到很多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方法就正常了
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。