移动端

移动端

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

建议a595975822 发表了文章 • 8 个评论 • 593 次浏览 • 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;
}

移动端怎么删除?

问与答kala 回复了问题 • 2 人关注 • 1 个回复 • 305 次浏览 • 2018-07-20 17:00 • 来自相关话题

wecenter有对百度的MIP改造了解的吗?

回复

建站运营marco_hsu 发起了问题 • 1 人关注 • 0 个回复 • 986 次浏览 • 2017-09-24 11:00 • 来自相关话题

[转载存档]WeCenter 三步实现手机版绑定二级域名移动m站

kenw2004 发表了文章 • 9 个评论 • 1621 次浏览 • 2017-03-24 13:35 • 来自相关话题

此文复制自网络,我记得以前通晓有发布过修改方法,不过我当时小试了一下,没成功,就放弃了。近期有人在这里问起这个,随手找到以下资料供参考,并未亲自测试,等有空时再试试。如果你有测试过,欢迎发布跟帖 WeCenter三步实现手机版绑定二级 ...查看全部
此文复制自网络,我记得以前通晓有发布过修改方法,不过我当时小试了一下,没成功,就放弃了。近期有人在这里问起这个,随手找到以下资料供参考,并未亲自测试,等有空时再试试。如果你有测试过,欢迎发布跟帖

WeCenter三步实现手机版绑定二级域名方法如下:

一、将m。你的域名。com解析到你的服务器(与www一样的解析方式)

二、修改index。php文件【将WeCenter换成你的域名】在include('system/system.php');后面添加如下代码大致10几行的样子
if ($_SERVER['HTTP_HOST'] == '你的m站网址') {
if (!is_mobile()) {
header('Location: http://你的PC站网址' . $_SERVER['REQUEST_URI']);exit;
}
} else if ($_SERVER['HTTP_HOST'] == '你的PC站网址') {
if (is_mobile()) {
header('Location: http://你的m站网址' . $_SERVER['REQUEST_URI']);
exit;
}
}

if (preg_match('#m\.(.*)#', $_SERVER['HTTP_HOST'])) {
$uri = $_SERVER['REQUEST_URI'];
if (!preg_match('#/account/#', $uri)) {
if (preg_match('#/?/m/#', $uri)) {
$uri = str_replace('/?/m/', '/', $uri);
}
if (preg_match('#^/\?/ajax/#', $uri)) {
$uri = str_replace('/?', '', $uri);
}
if (!preg_match('#/.+/ajax#', $uri)) {
if (is_mobile() && !preg_match('#^/m/#', $uri)) {
$_SERVER['REQUEST_URI'] = '/m' . $uri;
}
}
}
}




三、修改views/default/m目录下面的所有模板

只要模板是带有移动端m跳转的链接都要删除掉m(有点多,自行认真检查,以免部分未修改发生错误)

最好的方案就是将views/default/m先备份然后再修改,

形如

<?php_e('登录');?>

改成这样

<?php_e('登录');?>

至此全部修改完成!

提醒:目前发现的问题就是在PC端的时候无法使用微信扫一扫登录,其他暂时没有发现。

移动端小bug,动态页和问题内容使用块引用BUG

kenw2004 回复了问题 • 2 人关注 • 1 个回复 • 748 次浏览 • 2017-03-03 10:22 • 来自相关话题

【3步实现】手机端绑定二级域名m

net 发表了文章 • 6 个评论 • 861 次浏览 • 2016-11-23 12:06 • 来自相关话题

共享结束!
共享结束!

测试中

net 发表了文章 • 6 个评论 • 555 次浏览 • 2016-11-16 10:08 • 来自相关话题

整理中
整理中

如何在手机端单独调用“问题列表”和“文章列表”?

回复

aaron_cai 发起了问题 • 1 人关注 • 0 个回复 • 429 次浏览 • 2016-10-31 19:48 • 来自相关话题

官方BUG修改

风见雨下 发表了文章 • 1 个评论 • 714 次浏览 • 2016-10-31 15:36 • 来自相关话题

bug描述:在手机的移动端上,发起问题的时候选择话题会自动检索出下拉框,选择以后下拉框并不会消失(会把发起按钮遮住),再次搜索的时候不会显示新的搜索结果 原因:aws-mobile.js问题 解决方案:用http://wenda.wec ...查看全部
bug描述:在手机的移动端上,发起问题的时候选择话题会自动检索出下拉框,选择以后下拉框并不会消失(会把发起按钮遮住),再次搜索的时候不会显示新的搜索结果
原因:aws-mobile.js问题
解决方案:用http://wenda.wecenter.com/static/mobile/js/aws-mobile.js (打开页面,另存为即可)替换自己项目里面的search.js(wecenter官方的社区站已经更新此bug,但是没有发布,估计下一版会更新)
感谢群成员 Winds一起配合找到解决方案

如何设置网站移动端访问按照PC端效果显示?

回复

ZChristopher 发起了问题 • 1 人关注 • 0 个回复 • 463 次浏览 • 2016-10-15 12:35 • 来自相关话题

移动端怎么删除?

回复

问与答kala 回复了问题 • 2 人关注 • 1 个回复 • 305 次浏览 • 2018-07-20 17:00 • 来自相关话题

wecenter有对百度的MIP改造了解的吗?

回复

建站运营marco_hsu 发起了问题 • 1 人关注 • 0 个回复 • 986 次浏览 • 2017-09-24 11:00 • 来自相关话题

移动端小bug,动态页和问题内容使用块引用BUG

回复

kenw2004 回复了问题 • 2 人关注 • 1 个回复 • 748 次浏览 • 2017-03-03 10:22 • 来自相关话题

如何在手机端单独调用“问题列表”和“文章列表”?

回复

aaron_cai 发起了问题 • 1 人关注 • 0 个回复 • 429 次浏览 • 2016-10-31 19:48 • 来自相关话题

如何设置网站移动端访问按照PC端效果显示?

回复

ZChristopher 发起了问题 • 1 人关注 • 0 个回复 • 463 次浏览 • 2016-10-15 12:35 • 来自相关话题

我说两个wecenter话题自定义标题和URL上的不完美

回复

止于半善 回复了问题 • 2 人关注 • 1 个回复 • 678 次浏览 • 2016-10-14 15:34 • 来自相关话题

如何在移动端的发现页面调用问题中的图片(附件)

回复

net 发起了问题 • 2 人关注 • 0 个回复 • 616 次浏览 • 2016-10-11 00:37 • 来自相关话题

移动端如何绑定域名?

回复

no_reg 回复了问题 • 2 人关注 • 1 个回复 • 503 次浏览 • 2016-08-17 15:00 • 来自相关话题

100元求解决简单跳转问题!

回复

dongbaoshan 回复了问题 • 3 人关注 • 1 个回复 • 591 次浏览 • 2016-07-08 14:22 • 来自相关话题

【求助】移动端自适应后编辑器为什么不能是CK?

回复

sea198710 发起了问题 • 2 人关注 • 0 个回复 • 575 次浏览 • 2016-03-28 11:08 • 来自相关话题

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

建议a595975822 发表了文章 • 8 个评论 • 593 次浏览 • 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;
}

[转载存档]WeCenter 三步实现手机版绑定二级域名移动m站

kenw2004 发表了文章 • 9 个评论 • 1621 次浏览 • 2017-03-24 13:35 • 来自相关话题

此文复制自网络,我记得以前通晓有发布过修改方法,不过我当时小试了一下,没成功,就放弃了。近期有人在这里问起这个,随手找到以下资料供参考,并未亲自测试,等有空时再试试。如果你有测试过,欢迎发布跟帖 WeCenter三步实现手机版绑定二级 ...查看全部
此文复制自网络,我记得以前通晓有发布过修改方法,不过我当时小试了一下,没成功,就放弃了。近期有人在这里问起这个,随手找到以下资料供参考,并未亲自测试,等有空时再试试。如果你有测试过,欢迎发布跟帖

WeCenter三步实现手机版绑定二级域名方法如下:

一、将m。你的域名。com解析到你的服务器(与www一样的解析方式)

二、修改index。php文件【将WeCenter换成你的域名】在include('system/system.php');后面添加如下代码大致10几行的样子
if ($_SERVER['HTTP_HOST'] == '你的m站网址') {
if (!is_mobile()) {
header('Location: http://你的PC站网址' . $_SERVER['REQUEST_URI']);exit;
}
} else if ($_SERVER['HTTP_HOST'] == '你的PC站网址') {
if (is_mobile()) {
header('Location: http://你的m站网址' . $_SERVER['REQUEST_URI']);
exit;
}
}

if (preg_match('#m\.(.*)#', $_SERVER['HTTP_HOST'])) {
$uri = $_SERVER['REQUEST_URI'];
if (!preg_match('#/account/#', $uri)) {
if (preg_match('#/?/m/#', $uri)) {
$uri = str_replace('/?/m/', '/', $uri);
}
if (preg_match('#^/\?/ajax/#', $uri)) {
$uri = str_replace('/?', '', $uri);
}
if (!preg_match('#/.+/ajax#', $uri)) {
if (is_mobile() && !preg_match('#^/m/#', $uri)) {
$_SERVER['REQUEST_URI'] = '/m' . $uri;
}
}
}
}




三、修改views/default/m目录下面的所有模板

只要模板是带有移动端m跳转的链接都要删除掉m(有点多,自行认真检查,以免部分未修改发生错误)

最好的方案就是将views/default/m先备份然后再修改,

形如

<?php_e('登录');?>

改成这样

<?php_e('登录');?>

至此全部修改完成!

提醒:目前发现的问题就是在PC端的时候无法使用微信扫一扫登录,其他暂时没有发现。

【3步实现】手机端绑定二级域名m

net 发表了文章 • 6 个评论 • 861 次浏览 • 2016-11-23 12:06 • 来自相关话题

共享结束!
共享结束!

测试中

net 发表了文章 • 6 个评论 • 555 次浏览 • 2016-11-16 10:08 • 来自相关话题

整理中
整理中

官方BUG修改

风见雨下 发表了文章 • 1 个评论 • 714 次浏览 • 2016-10-31 15:36 • 来自相关话题

bug描述:在手机的移动端上,发起问题的时候选择话题会自动检索出下拉框,选择以后下拉框并不会消失(会把发起按钮遮住),再次搜索的时候不会显示新的搜索结果 原因:aws-mobile.js问题 解决方案:用http://wenda.wec ...查看全部
bug描述:在手机的移动端上,发起问题的时候选择话题会自动检索出下拉框,选择以后下拉框并不会消失(会把发起按钮遮住),再次搜索的时候不会显示新的搜索结果
原因:aws-mobile.js问题
解决方案:用http://wenda.wecenter.com/static/mobile/js/aws-mobile.js (打开页面,另存为即可)替换自己项目里面的search.js(wecenter官方的社区站已经更新此bug,但是没有发布,估计下一版会更新)
感谢群成员 Winds一起配合找到解决方案

移动端 使用2级域名 早就实现了

a595975822 发表了文章 • 2 个评论 • 589 次浏览 • 2016-09-13 18:19 • 来自相关话题

移动端 使用2级域名 早就实现了  但是好像 没有多少然需要哈,     需要联系我把,附带我的淘宝店 地址   https://shop72708621.taobao.com
移动端 使用2级域名 早就实现了  但是好像 没有多少然需要哈,
 
 
需要联系我把,附带我的淘宝店 地址   https://shop72708621.taobao.com