DedeCMS跳转到移动端适配,获取当前页面URL
DedeCMS根据用户访问设备JS跳转到与PC对应的移动端URL,如何调用对应的页面URL?URL种类有首页、列表页、内容页;又分为动态URL(带或不带参数,一般URL”?”后面的就是参数)、静态URL。
带参数的动态URL: http://www.xiuzhanwang.com/plus/list.php?tid=85&zxfg=%B5%D8%D6%D0%BA%A3 静态URL: http://www.xiuzhanwang.com/zhuangxiu_xiaoguotu/
上面两个PC端URL分别跳转到如下移动端URL
http://www.xiuzhanwang.com/plus/wap_list.php?tid=85&zxfg=%B5%D8%D6%D0%BA%A3 http://m.xiuzhanwang.com/dedecms/
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://m.xiuzhanwang.com/"> <meta http-equiv="mobile-agent" content="format=xhtml;url=http://m.xiuzhanwang.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.xiuzhanwang.com' , 'http://wap.xiuzhanwang.com' , @me);"/}
说明:可以根据实际需要进行修改橙色部分内容,前面一个是PC端的URL,后面是WAP移动端URL。
相同的道理,WAP移动端内容页URL调用
{dede:field.arcurl function = "str_replace('http://www.xiuzhanwang.com' , 'http://wap.xiuzhanwang.com' , @me)"/}
PC端URL带参数的跳转到移动端调用方法
这是前面做的一个重庆装修公司站装修效果图筛选的遇到的问题,当时做PC与WAP静态URL,参考文章《DedeCMS一个后台管理PC移动端纯静态非官方版》,但筛选部分还是动态URL,先看下面的带参数的URL:
http://www.xiuzhanwang.com/plus/list.php?tid=85&zxfg=%B5%D8%D6%D0%BA%A3
跳转到
http://www.xiuzhanwang.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.xiuzhanwang.com/plus/wap_list.php' , @me); {/dede:geturl}
geturl函数调用的是相对路径,根据实际需要修改为绝对路径。如果是用二级域名的URL,直接把二级域名写在geturl函数前面即可。
注意:此方法不适用静态页面,不过如果是筛选(带参数)可以完全使用动态页面。
PC内容页跳转WAP内容页
这个就简单了,不管是静态URL还是动态URL都通用。把下面代码替换通用代码相应部分。
{dede:field.arcurl function="str_replace('http://www.v2xiuzhanwang5j.com' , 'http://m.xiuzhanwang.com' , @me)"/}
WAP移动端页面SEO设置
在</head>之前添加canonical声明。
<link rel="canonical" href="http://www.xiuzhanwang.com/">
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » DedeCMS跳转到移动端适配,获取当前页面URL
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 织梦模板使用说明
- 你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html