当前位置:杨荣华 > 工作 > 文章页

dedecms手机网站绑定二级域名【无子网站】功能适用

来源:杨荣华博客 杨荣华 2015-12-22 浏览

今天解决了dedecms手机网站绑定二级域名的一个小难题,因为最近几天一直在网上搜索dedecms手机网站如何绑定二级域名的方法,直到今天才找到方法,特作个记录,以后会常用到。下面简单来说下我方法,所有方法均搜索自网络加上自己的思路。适合没有子网站功能的虚拟主机,如果你有子目录功能,下面的第一点里的不用设置,当然你要绑定二级域名到子目录还是必须要做的。

dedecms手机网站实现二级域名跳转【无子网站】功能适用

一、解决没有子目录功能的虚拟主机如何绑定二级域名

因为用的是虚拟主机没有子目录或者是子网站功能,也就是说不能使用两个网站,而现在要使用二级域名,就等于是要开两个不同的网站,首要解决的是,没有子目录功能的虚拟主机如何绑定二级域名,具体方法,在你的网站根目录新建个.htaccess文件(htaccess前面有个小点的)在此文件中加入以下语句:

RewriteEngine on
// 把 m.167h.com改为你要绑定的域名.
RewriteCond %{HTTP_HOST} ^(www.)?m.167h.com$
//把 m改为要绑定的目录.
RewriteCond %{REQUEST_URI} !^/m/
//不要改以下两行.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
// 把 m改为要绑定的目录.
RewriteRule ^(.*)$ /m/$1
//把 m.167h.com改为你要绑定的域名
// 把 m 改为要绑定的目录.
//m/ 后面是首页文件index.php, index.html……
RewriteCond %{HTTP_HOST} ^(www.)?m.167h.com$
RewriteRule ^(/)?$ m/index.php [L]

通过以上方法就可以实现二级域名 m.167h.com 打开网站,革命才刚刚开始,下面要设置DEDECMS手机跳转代码。不然打开的还可能是PC网站。(注意将//整行删除)

二、实现DEDECMS手机访问自动跳转到手机网站。

这里要实现DEDECMS手机访问自动跳转到手机网站,不仅仅是首页跳转,而是所有页跳转到对应的手机网站,还是能过代码实现,把代码放到模板文件代码部分的前。找到两种代码都可以实现跳转,个人也不知那种好,我就用第二种吧。本处不使用织梦默认手机跳转代码,因此不需要设置什么绝对地址。

1、跳转代码一

<script language="javascript">
function mobile_device_detect(url)
{
        var thisos=navigator.platform;
        var os=new array("iphone","ipod","ipad","android","nokia","symbianos","symbian","windows phone","phone","linux armv71","maui","untrusted/1.0","windows ce","blackberry","iemobile");
for(var i=0;i<os.length;i++)
        {
if(thisos.match(os[i]))
        {   
  window.location=url;
}  
}
//因为相当部分的手机系统不知道信息,这里是做临时性特殊辨认
if(navigator.platform.indexof('ipad') != -1)
        {
  window.location=url;
}
//做这一部分是因为android手机的内核也是linux
//但是navigator.platform显示信息不尽相同情况繁多,因此从浏览器下手,即用navigator.appversion信息做判断
  var check = navigator.appversion;
  if( check.match(/linux/i) )
          {
   //x11是uc浏览器的平台 ,如果有其他特殊浏览器也可以附加上条件
   if(check.match(/mobile/i) || check.match(/x11/i))
                 {
   window.location=url;
   }  
}
//类in_array函数
array.prototype.in_array = function(e)
{
  for(i=0;i<this.length;i++)
  {
   if(this[i] == e)
   return true;
  }
  return false;
}
}
mobile_device_detect("{dede:global.cfg_wap/}/");
</script>

重点在红色部分。首页、栏目页、内容页的代码不同。不同的页面就要改成不同的代码,如下。

首页代码:http://m.167h.com/

栏目页改成 http://m.167h.com/list.php?tid={dede:field.id/}

内容页改成 http://m.167h.com/view.php?aid={dede:field.id/}

为方便和通用过,可以将二级域名新建变量,如我新建的 {dede:global.cfg_wap/} 这个是就是二级域名,(如何添加新能量很简单,搜索一下)那么我的代码可以像下面那样写了。

首页代码:{dede:global.cfg_wap/}/

栏目页改成 {dede:global.cfg_wap/}/list.php?tid={dede:field.id/}

内容页改成 {dede:global.cfg_wap/}/view.php?aid={dede:field.id/}

二、跳转代码二

<script src="http://siteapp.baidu.com/static/webappservice/uaredirect.js" type="text/javascript"></script>
<script type="text/javascript">uaredirect("{dede:global.cfg_wap/}/");</script>

这里的红色代码 和上在的同理,在栏目页和内容页,按上面的一样改动。

能过以上设置可以实现在移动端自动跳转到相对应的手机面页,dedecms手机网站绑定二级域名的问题了就解决了。



 

    更多图文展示

    杨荣华--个人空间

    朴实的心灵记录着不起眼的事情,聊以慰藉逝去的时光和健忘的大脑

    【杨荣华博客】浙ICP备20015565号-1网站地图
    41.2K
    关注我的微信