手把手教你织梦CMS手机站伪静态、独立域名
各位小伙伴还在为织梦DedeCMS移动端手机端站点安装搭建方法而苦恼吗?不知道dedecms怎么实现PC站和手机站数据同步,不知道一套模板就可以实现两个站点吗?本文将手把手教你织梦CMS手机站适配、伪静态、独立域名、完美跳转。
操作方法
- 01
解析手机域名并绑定到当前主机(主程序同源)
- 02
M目录下新建.htaccess,并写入 RewriteEngine On RewriteBase / RewriteCond %{http_host} ^mip.abc.com [NC] RewriteCond %{REQUEST_URI} !^/m/ RewriteRule ^(.*)$ /m/$1 [L] RewriteRule ^uploads/(.*)$ http://www.abc.com/uploads/$1 [L]
- 03
在PC端模板head内加入跳转js,(站长平台提交的对应规则也在这部里,自己对应你的pc站总结) 1)主页 <!--无伪静态版--> <!-- <meta http-equiv="mobile-agent" content="format=xhtml;url=//mip.abc.com{dede:global.cfg_mobileurl/}"> <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="//mip.abc.com{dede:global.cfg_mobileurl/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script> --> 2)列表页 <!--无伪静态版--> <!-- <meta http-equiv="mobile-agent" content="format=xhtml;url=//mip.abc.com{dede:global.cfg_mobileurl/}/list.php?tid={dede:field.id/}"> <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="//mip.abc.com{dede:global.cfg_mobileurl/}/list.php?tid={dede:field.id/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script> --> 3)内容页 <!--无伪静态版--> <!-- <meta http-equiv="mobile-agent" content="format=xhtml;url=//mip.abc.com{dede:global.cfg_mobileurl/}/view.php?aid={dede:field.id/}"> <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="//mip.abc.com{dede:global.cfg_mobileurl/}/view.php?aid={dede:field.id/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script> -->
- 04
在对应的手机模版内加入canonical标签(这一步非必须) 1)主页 <link rel="canonical" href="{dede:global.cfg_basehost/}"> 2)列表页 <link rel="canonical" href="{dede:global.cfg_basehost/}{dede:sql sql='SELECT * FROM dede_archives limit 1'}[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id] {/dede:sql}"> 3)内容页 <link rel="canonical" href="{dede:global.cfg_basehost/}{dede:field.id runphp='yes'}$id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];{/dede:field.id}">
- 05
手机端伪静态(URL重写) 根目录下的.htaccess文件中写入 这里没有写成和PC端一样,因为不是每个人都喜欢,对应规则很好写。 <ifmodule mod_rewrite.c> RewriteEngine On RewriteRule ^m-index\.html$ /m/index.html [L] #移动端首页 RewriteRule ^m-list-([0-9]+).html$ /m/list.php?tid=$1 #移动端列表页 RewriteRule ^m-view-([0-9]+).html$ /m/view.php?aid=$1 #移动端内容页 </ifmodule>
- 06
.链接直接跳转到到伪静态,去掉m子目录,实现简单的mip.abc.com/m-index.html,mip.abc.com/m-list-1.html,mip.abc.com/m-view-1.html 1)首页 <!--伪静态版--> <meta http-equiv="mobile-agent" content="format=xhtml;url=//mip.abc.com{dede:global.cfg_mobileurl/}-index.html"> <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="//mip.abc.com{dede:global.cfg_mobileurl/}-index.html";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script> 2)列表页 <!--伪静态版--> <meta http-equiv="mobile-agent" content="format=xhtml;url=//mip.abc.com{dede:global.cfg_mobileurl/}-list-{dede:field.id/}.html"> <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="//mip.abc.com{dede:global.cfg_mobileurl/}-list-{dede:field.id/}.html";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script> 3)内容页 <!--伪静态版--> <meta http-equiv="mobile-agent" content="format=xhtml;url=//mip.abc.com{dede:global.cfg_mobileurl/}-view-{dede:field.id/}.html"> <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="//mip.abc.com{dede:global.cfg_mobileurl/}-view-{dede:field.id/}.html";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>
- 07
1) 为规范网址形式,请用canonical标签解决 2)未作伪静态之前的路径依然可以访问,请用robots.txt屏蔽掉
- 08
你的织梦站移动站点已经成功配置二级域名,并独立于主站,(因为没有修改系统核心文件,所以是同步更新的),另外注意一点:手机站首页因为是自动生成,因此必须访问一次www.abc.com/m/,之后正常访问mip.abc.com即可。说实话,网上说的好难的样子,但是做起来却也只有这样。同学门自己多实操,肯定会有惊喜。