开启手机版二级域名m.xxxx.com 方法 绑定二级域名

    a595975822 发表了文章 • 8 个评论 • 641 次浏览 • 2018-11-28 13:38 • 来自相关话题

    前言:周末有时间看了下最新的2.2的程序;把以前的代码重新规范化整理了下; 修改前 先把二级域名解析到相应的站点上;在m_host函数内 把二级域名手动添加上,不添加则视为不启用二级域名和移动端的绑定 如果懒得改 可以直接下载修改文 ...查看全部
    前言:周末有时间看了下最新的2.2的程序;把以前的代码重新规范化整理了下;
    修改前 先把二级域名解析到相应的站点上;在m_host函数内 把二级域名手动添加上,不添加则视为不启用二级域名和移动端的绑定 如果懒得改 可以直接下载修改文件 进行覆盖;覆盖前 记得备份,备份比啥都强!

    (1)functions.inc.php 下新增函数
    1.base_parse_url;m_host;web_host;moblie_sikp

    3.is_mobile上新增函数 moblie_sikp
    4.is_mobile 内新增判断语句
    5. 移动端伪静态事例
    /m/question/(:any)===/mq/(:any)
    /m/topic/(:any)===/mt/(:any)
    /m/question/(:any)===/mq/(:any)
    /m/people/(:any)===/mp/(:any)
    (2) 修改 CORE/URI.PHP 函数 set_rewrite
    #=======================内容如下=====================

    5. 修改 CORE/URI.PHP 函数 set_rewrite
    //yang修复移动端使用 新的二级域名时 URL 强制带 /?/m 问题

    if(m_host()){
    if(base_parse_url()['sld'] == m_host())
    {
    if($this->default_vars['app_dir']!='m')
    {
    $this->default_vars['app_dir'] ='m';
    }

    }
    }
    //搜索下面这句 在它上面加上
    $__app_dir = $this->default_vars['app_dir']; // 应用目录

     
     
    /**
    * 解析主域信息
    *
    * @return array
    */
    function base_parse_url()
    {
    $clean_url = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : NULL;
    $clean_url = dirname(substr($_SERVER['PHP_SELF'], 0, strlen($_SERVER['PHP_SELF']) - strlen($clean_url)));
    $clean_url = rtrim($_SERVER['HTTP_HOST'] . $clean_url, '/\\');

    if ((isset($_SERVER['HTTPS']) AND !in_array(strtolower($_SERVER['HTTPS']), array('off', 'no', 'false', 'disabled'))) OR $_SERVER['SERVER_PORT'] == 443)
    {
    $scheme = 'https://';
    }
    else
    {
    $scheme = 'http://';
    }


    $server_exp = explode('.',$_SERVER['HTTP_HOST']);

    $server_sld = $server_exp[0];

    $server_domain = implode('.',array_slice($server_exp,1));

    //获取URL链接第一位是不是M,
    $request = explode('/', $_SERVER["REQUEST_URI"]);
    // var_dump($request);
    if($request[1] == '?' and $request[2] == 'm'){

    $request[1] = 'm';
    }

    return array('scheme' =>$scheme,'sld'=>$server_sld,'domain'=>'.'.$server_domain,'request_one'=>$request[1]);

    }


    /**
    *
    *移动端域名
    * return boolean
    * return string
    **/
    function m_host()
    {

    $m = '';//添加移动二级域名如:m.XXX.XXX; 这个地方只需要加m 即可

    if($m){

    return $m;
    }
    return false;
    }
    function web_host()
    {
    return 'ask';//添加PC二级域名如:WWW.XXX.XXX; 这个地方只需要加WWW 即可
    }

    /**
    * 新增 二级域名跳转函数
    *
    * @return boolean
    */
    function moblie_sikp($open = true)
    {

    if(!m_host()){
    return false;
    }

    $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);
    // 新增内容
    $parse_url = base_parse_url();
    $m_url = $parse_url['scheme'].m_host().$parse_url['domain'];
    $web_url = $parse_url['scheme'].'ask'.$parse_url['domain'];
    $request_url = $_SERVER["REQUEST_URI"];
    // ?/m/ignore_ua_check-FALSE

    if($open){

    if($parse_url['sld'] != m_host())
    {
    header('Location: '.$m_url.$request_url);
    die;
    }
    }else{

    if($parse_url['sld'] == m_host())
    {
    header('Location: '.$web_url.$request_url);
    die;
    }

    }

    return false;
    }

    /**HTTP::跳转判断
    * 如果是移动端则替换域名为移动
    *如果是PC端则替换域名为 PC
    */

    function domain_replace($url){

    if(!m_host()){
    return $url;
    }

    $parse_url = base_parse_url();
    $m_host = $parse_url['scheme'].m_host();
    $web_host = $parse_url['scheme'].web_host();
    if(is_mobile()){


    if (HTTP::get_cookie('_ignore_ua_check') == 'TRUE' AND !$ignore_cookie)
    {
    $url = str_replace($m_host,$web_host,$url);
    }else{
    $url = str_replace($web_host,$m_host,$url);
    }


    }else{
    $url = str_replace($m_host,$web_host,$url);

    }
    return $url;
    }

    期待官方在下个版本更新可以增加手机注册功能

    fanta 回复了问题 • 2 人关注 • 1 个回复 • 396 次浏览 • 2018-11-16 21:47 • 来自相关话题

    希望新的版本里加入钩子函数

    三叔 发表了文章 • 4 个评论 • 510 次浏览 • 2018-10-22 09:56 • 来自相关话题

    否则 我们写插件,都必须要重写很多核心函数,这样只要一升级就全部失效了。 将来希望第三方开发者加入开发插件,肯定需要有钩子函数的。 就比如文章一键使用七牛云,这个我可以做且贡献出来,但是肯定需要修改Controller核心类的。只要升级 ...查看全部
    否则 我们写插件,都必须要重写很多核心函数,这样只要一升级就全部失效了。
    将来希望第三方开发者加入开发插件,肯定需要有钩子函数的。
    就比如文章一键使用七牛云,这个我可以做且贡献出来,但是肯定需要修改Controller核心类的。只要升级,这个插件就失效了。
     
    所以,希望官方也别自己一股脑的闭门写代码,开放出钩子函数,让我们这些开发者一起参与插件的开发和维护。

    提个建议,后面可以考虑考虑加上

    fanta 回复了问题 • 2 人关注 • 1 个回复 • 373 次浏览 • 2018-10-12 09:47 • 来自相关话题

    感觉黑色的抬头比蓝色的好看

    风见雨下 回复了问题 • 2 人关注 • 1 个回复 • 484 次浏览 • 2018-10-11 13:36 • 来自相关话题

    求修复wecenter3.22在php7下的微信交互BUG

    fanta 回复了问题 • 2 人关注 • 1 个回复 • 446 次浏览 • 2018-10-09 13:57 • 来自相关话题

    建议以后的版本重构报错提示的代码和附件的储存机制代码。

    回复

    amao 发起了问题 • 1 人关注 • 0 个回复 • 411 次浏览 • 2018-10-01 07:25 • 来自相关话题

    签到红包 积分商城 众筹或拼团模式

    lekuhu 发表了文章 • 2 个评论 • 679 次浏览 • 2018-08-13 10:50 • 来自相关话题

    你好,其他官方的活动和众筹之前的想法挺好的,但是这个功能在这里就一直没有更换升级过,现在建议官方变一变,仅仅是个人观点   1.签到 签到可以领积分也可以领现金,领现金这个可以在微博上或者其他签到网站看到,这个主要是让用户养 ...查看全部
    你好,其他官方的活动和众筹之前的想法挺好的,但是这个功能在这里就一直没有更换升级过,现在建议官方变一变,仅仅是个人观点
     
    1.签到
    签到可以领积分也可以领现金,领现金这个可以在微博上或者其他签到网站看到,这个主要是让用户养成习惯,每次领取很少的钱,积分的话
     
    2.积分商城
    领取现金可以发起提问,形成内部流通,比如1元悬赏一个问题,用户觉得贵,但是如果红包已经有4毛钱,可能用户就充值,积分可以兑换虚拟或者食物,优惠卡,打折券等
     
    3.拼团和众筹模式
    这个老版本和现在的版本已经有这个功能,现在建议的是拼团或者众筹模式完善好,不要只是首页顶部的一个菜单选项,更多的是让穿插,几个例子,如果有个人是做图片设计问答网站,解决用户激活码问题,如果在问题下部出现一个推荐的大家正在拼团的激活码,用户肯能会关注
     
    本是拙见,不喜勿喷,只是给官方一些建议,你记住这个不是简单的问答,是社交问答,有人愿意呆在这里,才会有内容出现

    这家用wecenter建设社区的开源APP开发商的思路可以借鉴一下。

    marco_hsu 发表了文章 • 1 个评论 • 517 次浏览 • 2018-08-11 19:38 • 来自相关话题

    就是Hbuilder开发商,他们的产品全部免费,而且是可以商用的;现在看得见的收入是在社区打广告,社区就是wecenter做的,然后给作者赞助。思路可以借鉴一下https://dev.dcloud.net.cn/sponsor/?channel=hbuilde ...查看全部
    就是Hbuilder开发商,他们的产品全部免费,而且是可以商用的;现在看得见的收入是在社区打广告,社区就是wecenter做的,然后给作者赞助。思路可以借鉴一下https://dev.dcloud.net.cn/sponsor/?channel=hbuilder

    官方将要有新动态了,作为开发者想提一个建议

    designlive 回复了问题 • 7 人关注 • 7 个回复 • 1327 次浏览 • 2018-08-08 20:52 • 来自相关话题