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方法就正常了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章