当前位置 : 主页 > WEB开发 > 正文

DedeCMS跳转到移动端获取当前URL

重庆seo[原创]2017-03-11阅读()dedecms二级域名URL路径移动站A+ / A-

       DedeCMS根据用户访问设备JS跳转到与PC对应的移动端URL,如何调用对应的页面URL?URL种类有首页、列表页、内容页;又分为动态URL(带或不带参数,一般URL"?"后面的就是参数)、静态URL。

带参数的动态URL:
http://www.v25j.com/plus/list.php?tid=85&zxfg=%B5%D8%D6%D0%BA%A3
静态URL:
http://www.v25j.com/zhuangxiu_xiaoguotu/

       上面两个PC端URL分别跳转到如下移动端URL

http://www.v25j.com/plus/wap_list.php?tid=85&zxfg=%B5%D8%D6%D0%BA%A3
http://wap.v25j.com/zhuangxiu_xiaoguotu/

PC端页面SEO设置

       如果不设置好,虽然页面不一样,但大体上是一样,蜘蛛会重复收录PC端和WAP移动端,容易造成分权

       一般的处理办法是,PC用alternate声明与之对应的移动端URL,移动端用canonical声明只收录PC端的URL

PC首页跳转WAP首页

       把下面代码放在PC端的</head>之前。下面称为通用代码。

<link rel="alternate" media="only screen and (max-width: 640px)" href="http://wap.v25j.com/">
<meta http-equiv="mobile-agent" content="format=xhtml;url=http://wap.v25j.com/">
<script type="text/javascript">if(window.location.toString().indexOf('pref=padindex') != -1){}else{if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){if(window.location.href.indexOf("?mobile")<0){try{if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){window.location.href="http://wap.v25j.com/";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

PC列表跳转WAP列表

先来看看PC端URL不带参数的跳转到移动端调用方法

       这是列表页的URL,列表页、内容页都可以用{dede:field.typeurl /}获取,PC端对应页面需要用到PHP str_replace函数,把下面代码替换通用代码红色部分

{dede:field.typeurl function = "str_replace('http://www.v25j.com' , 'http://wap.v25j.com' , @me);"/}

       说明:可以根据实际需要进行修改橙色部分内容,前面一个是PC端的URL,后面是WAP移动端URL。

       相同的道理,WAP移动端内容页URL调用

{dede:field.arcurl function = "str_replace('http://www.vi586.com' , 'http://wap.vi586.com' , @me)"/}

PC端URL带参数的跳转到移动端调用方法

       这是前面做的一个重庆装修公司站装修效果图筛选的遇到的问题,当时做PC与WAP静态URL,参考文章《DedeCMS一个后台管理PC移动端纯静态非官方版》,但筛选部分还是动态URL,先看下面的带参数的URL:

http://www.v25j.com/plus/list.php?tid=85&zxfg=%B5%D8%D6%D0%BA%A3

       跳转到

http://www.v25j.com/plus/wap_list.php?tid=85&zxfg=%B5%D8%D6%D0%BA%A3

       可直接复制链接看具体形式,只能通过其他方法获取当前URL,再用str_replace改写,获取方法如下:

{dede:geturl runphp='yes'}
 @me = GetCurUrl(); //获取当前URL
 @me = str_replace('/plus/list.php' , 'http://www.v25j.com/plus/wap_list.php' , @me);
{/dede:geturl}

       geturl函数调用的是相对路径,根据实际需要修改为绝对路径。如果是用二级域名的URL,直接把二级域名写在geturl函数前面即可。

       注意:此方法不适用静态页面,不过如果是筛选(带参数)可以完全使用动态页面。

PC内容页跳转WAP内容页

       这个就简单了,不管是静态URL还是动态URL都通用。把下面代码替换通用代码红色部分

{dede:field.arcurl function="str_replace('http://www.v25j.com' , 'http://wap.v25j.com' , @me)"/}

WAP移动端页面SEO设置

       在</head>之前添加canonical声明。

<link rel="canonical" href="http://www.v25j.com/">

    本文地址:https://www.vi586.com/web/400.html
    版权声明:原创文章,版权归重庆SEO吖七所有,欢迎分享本文,转载请保留出处!别浪费时间复制粘贴,早就提交URL了。

    赞(4)