当前位置: 代码迷 >> PHP >> thinkphp U方法生成有关问题
  详细解决方案

thinkphp U方法生成有关问题

热度:221   发布时间:2016-04-28 18:57:58.0
thinkphp U方法生成问题。
我的表单中提交是这样写的:<form action="{:U(GROUP_NAME.'/Login/login')}" method="post" id="login">
提交后本应该跳转到:http://1121.87.98.198/index.php/Login/login
现在确跳到提交后本应该跳转到:http://localhost/index.php/Login/login

我服务器配置文件中'DB_HOST' => 'localhost',难道U方法还要单独设置吗?
用的是Nginx服务器

现在问题是要怎么配置U让localhost变成ip?
------解决方案--------------------
是不是改动过U函数?看这里


    if($domain) {
        $url   =  'http://'.$domain.$url;
    }else{
        $url   =  "http://".$_SERVER['SERVER_NAME'].($_SERVER['SERVER_PORT']==80?'':':'.$_SERVER['SERVER_PORT']).$url;
    }


生成的url永远是绝对地址,而我印象中他一直是相对路径,你把else删了吧
------解决方案--------------------
本帖最后由 xuzuning 于 2014-06-28 11:25:00 编辑
他最后是 
    if($domain) {
        $url   =  'http://'.$domain.$url;
    }else{
        $url   =  "http://".$_SERVER['SERVER_NAME'].($_SERVER['SERVER_PORT']==80?'':':'.$_SERVER['SERVER_PORT']).$url;
    }
你调用时 U(GROUP_NAME.'/Login/login') 没有 $domain
所以走 else 分支,即你用什么域名访问就是什么域名
你若想自己定义则
U(GROUP_NAME.'/Login/login', '', true, false, $IP)