建站案例

织梦移动端伪静态链接生成,pc跳转wap,二级域名跳转的设置方法

发布于:2016-07-13 10:04作者: 点击:

 

由于人们生活形式和碎片时间的改变,网站的移动端越来越重要,
百度熊掌号的推出,有移动端的网站再排名上更加有利,
网站也要让PC端与移动端一一对应,并且在不同的设备相互跳转,
要解决织梦的PC端与移动端的问题,只需要解决3个问题即可:

注意:在按照以下步骤解决问题之前,先全站备份好你的网站,一定要备份,这是解决技术问题之前的基本操作。

1、生成问题,PC端的页面生成移动端的静态页面,新版本的移动端生成的都是动态页面

也就是说,
PC端首页——要生成移动端首页,并且首页要静态化或者生成静态页面

PC端列表页——要生成移动端列表页,并且要静态化或者生成静态页面
PC端文章页——要生成移动端文章页,并且要静态化或者生成静态页面

方法步骤:
下载这2个经过修改了的文件,然后解压,
把文件夹和子文件夹里面的全部文件上传到你已经安装好的织梦对应的位置
能覆盖的就覆盖原来的,没有显示覆盖的,就是新增的文件,放正确位置即可。


织梦移动端伪静态链接生成,pc跳转wap,二级域名跳转的设置方法(图1)

点击下载


下载下来,上传到正确位置之后,回到后台的“生成”版面,可以看到如图所示的各栏目的生成界面:
织梦移动端伪静态链接生成,pc跳转wap,二级域名跳转的设置方法(图2)
织梦移动端伪静态链接生成,pc跳转wap,二级域名跳转的设置方法(图3)
织梦移动端伪静态链接生成,pc跳转wap,二级域名跳转的设置方法(图4)
织梦移动端伪静态链接生成,pc跳转wap,二级域名跳转的设置方法(图5)
分别生成移动端的静态文章,
生成之后,我们可以看到在织梦根目录的/m/文件夹下能看到移动端的静态文件了
织梦移动端伪静态链接生成,pc跳转wap,二级域名跳转的设置方法(图6)
织梦移动端伪静态链接生成,pc跳转wap,二级域名跳转的设置方法(图7)
织梦移动端伪静态链接生成,pc跳转wap,二级域名跳转的设置方法(图8)

但是在移动端访问PC端的页面还跳转不到移动端的静态页面,
只能跳转到移动端的动态页面;
当然在移动端直接输入移动端的动态url是可以访问到移动端的动态页面的;
在移动端直接输入移动端的静态url也是可以访问到这些静态页面的;

接着往下面看:

在解决PC端页面跳转到移动端静态页面之前,先解决一些问题,
先解决移动端几个模板里面的Url问题,
原来织梦自带的几个m端的模板里面的Url默认生成是动态的,
我们把它们里面的链接改成静态
织梦移动端伪静态链接生成,pc跳转wap,二级域名跳转的设置方法(图9)

article_default_m.htm这个文件可以不用修改

(1)动态链接改成静态链接
header_m.htm文件的修改:把文件里面的全部 <a href="index.php"> 替换成:<a href="/">   是没修改过的文件的第3和11行;
<a href='list.php?tid=~id~' ~rel~>替换成:<a href='~typelink~' ~rel~>   是没修改过的文件的第15行;
<a href='list.php?tid=[field:id/]' [field:rel/]>替换成:<a href='[field:typeurl/]' [field:rel/]>  是没修改过的文件的第17行;


index_m.htm文件的修改:把文件里面的全部 <a href="index.php"> 替换成:<a href="/">    是没修改过的文件的第37和46行;
<a href="list.php?tid=[field:id/]">替换成:<a href="[field:typelink /]">    是没修改过的文件的第48行;
<a href="view.php?aid=[field:id/]">替换成:<a href="[field:arcurl/]">    是没修改过的文件的第58行;
<a href="list.php?tid={dede:field name='id'/}">替换成:<a href="{dede:field name='typeurl'/}">   是没修改过的文件的第86行;
<a href="view.php?aid=[field:id/]" class="am-list-item-hd">替换成:<a href="[field:arcurl/]" class="am-list-item-hd">  是没修改过的文件的第92行;
<a class="am-list-news-more am-btn am-btn-default" href="list.php?tid={dede:field name='id'/}">
替换成:
<a class="am-list-news-more am-btn am-btn-default" href="{dede:field name='typeurl'/}">
是没修改过的文件的第96行;


list_default_m.htm文件的修改:
<a href="view.php?aid=[field:id/]">替换成:<a href="[field:arcurl/]">   是没修改过的文件的第78行;
<a href="view.php?aid=[field:id/]" class="">替换成:<a href="[field:arcurl/]" class="">   是没修改过的文件的第84行;
<a href="view.php?aid=[field:id/]">替换成:<a href="[field:arcurl/]">    是没修改过的文件的第101行;
<a href="view.php?aid=[field:id/]">替换成:<a href="[field:arcurl/]">   是没修改过的文件的第107行;

article_article_m.htm文件的修改:
<a href="view.php?aid=[field:id/]">替换成:<a href="[field:arcurl/]">  是没修改过的文件的第103行;
<a href="view.php?aid=[field:id/]">替换成:<a href="[field:arcurl/]"> 是没修改过的文件的第109行;


至此,已经把动态链接修改完了为静态链接

(2)静态链接生成之后,移动端的列表页、文章页CSS样式显示会有问题,JS也有问题,图片和导航的CSS和JS都显示不了

我们根据列表页的位置和文章页的位置,来修改CSS和JS的路径

注意,如果你的列表页和文章页做了“命名文章命名规则:列表命名规则:”处理的话
一定要对准列表页和文章页的位置来写CSS和JS的路径
路径写法这里不多说明了,都是很简单的事
比如列表页的模板的CSS和JS根据列表的实际存放路径,做了如下的路径修改
织梦移动端伪静态链接生成,pc跳转wap,二级域名跳转的设置方法(图10)
织梦移动端伪静态链接生成,pc跳转wap,二级域名跳转的设置方法(图11)

下面解决跳转问题:


2、跳转问题,PC端的首页、列表页、文章页在移动设备访问的时候,要一一对应跳转到移动端页面

下面的<meta>标签代码为搜素引擎发现跳转适配关系的方式之一(可同时使用)——“Meta标记”,
下面几行javascript代码的功能是识别是否移动端设备访问,
如是则将当前pc端页面自动跳转到匹配的移动端页面。


(默认移动端页面是在/m/目录下,{dede:global.cfg_mobileurl/}默认为“m”目录

(1)PC端首页——跳转到移动端首页的静态页面

<!--这部分只看,只分析,不使用-->
织梦首页刚下载下来的源码,没经修改之前,首页文件index.htm的第9、10行:

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}/index.php">         //此行可要可不要都可以跳转
<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="{dede:global.cfg_mobileurl/}/index.php";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

这部分代码,也是跳转代码,但是它只跳转到移动端的动态首页
<!--这部分只看,只分析,不使用-->


方法A:(推荐)
把index.htm的第9、10行删掉,即把

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}/index.php">
<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="{dede:global.cfg_mobileurl/}/index.php";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

这段代码删掉
 
然后在PC端的首页index.htm<head></head>标签之间增加如下代码:
<meta http-equiv="mobile-agent" content="format=xhtml;url={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="{dede:global.cfg_mobileurl/}/index.html";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>
 
保存,生成,这时当移动设备访问PC端的时候,就可以跳转到移动端的静态页面了

方法B:或者使用(慎用)

把index.htm的第9、10行删掉,即把

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}/index.php">
<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="{dede:global.cfg_mobileurl/}/index.php";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

这段代码删掉
 
然后加入pc自动跳转通用链接(加到index.htm的<head></head>标签之间)
<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="/m"+location.pathname+location.search;}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

这个是通用跳转,如果不考虑移动端的页面用二级域名访问,用这个方法是比较方便的,
但是如果移动端的页面要用二级域名进行访问,推荐使用方法A
 

(2)PC端栏目页(列表页)——跳转到移动端栏目页的静态页面

<!--这部分只看,只分析,不使用-->
织梦栏目页刚下载下来的源码,没经修改之前,栏目页文件list_article.htm的第9、10行:

<meta http-equiv="mobile-agent" content="format=xhtml;url={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="{dede:global.cfg_mobileurl/}/list.php?tid={dede:field.id/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

这部分代码,也是跳转代码,但是它只跳转到移动端的动态栏目页

<!--这部分只看,只分析,不使用-->

方法A:(推荐)

把list_article.htm的第9、10行删掉,即把

<meta http-equiv="mobile-agent" content="format=xhtml;url={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="{dede:global.cfg_mobileurl/}/list.php?tid={dede:field.id/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

这段代码删掉;

然后在PC端的栏目页list_article.htm的<head></head>标签之间增加如下代码:

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}{dede:type}[field:typelink/]{/dede:type}">
<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="{dede:global.cfg_mobileurl/}{dede:type}[field:typelink/]{/dede:type}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

保存,生成,这时当移动设备访问PC端列表页的时候,就可以跳转到移动端的列表页静态页面了

方法B:或者使用(慎用)
 

把list_article.htm的第9、10行删掉,即把

<meta http-equiv="mobile-agent" content="format=xhtml;url={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="{dede:global.cfg_mobileurl/}/list.php?tid={dede:field.id/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

这段代码删掉;
 
然后加入pc自动跳转通用链接(加到list_article.htm的<head></head>标签之间)
 
<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="/m"+location.pathname+location.search;}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

这个是通用跳转,如果不考虑移动端的页面用二级域名访问,用这个方法是比较方便的,
但是如果移动端的页面要用二级域名进行访问,推荐使用方法A
 

(3)PC端文章页——跳转到移动端文章页的静态页面
 

<!--这部分只看,只分析,不使用-->
织梦文章页刚下载下来的源码,没经修改之前,文章页文件article_article.htm的第9、10行:

<meta http-equiv="mobile-agent" content="format=xhtml;url={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="{dede:global.cfg_mobileurl/}/view.php?aid={dede:field.id/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

这部分代码,也是跳转代码,但是它只跳转到移动端的动态文章页

<!--这部分只看,只分析,不使用-->
 

方法A:(推荐)

把article_article.htm的的第9、10行删掉,即把

<meta http-equiv="mobile-agent" content="format=xhtml;url={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="{dede:global.cfg_mobileurl/}/view.php?aid={dede:field.id/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

这段代码删掉;

然后在PC端的文章页article_article.htm的<head></head>标签之间增加如下代码:

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}{dede:type}[field:typelink/]{/dede:type}{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="{dede:global.cfg_mobileurl/}{dede:type}[field:typelink/]{/dede:type}{dede:field.id/}.html";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

这个方法生成的移动端静态文章页,直接是 主域名/栏目/id.html,如果文章命名规则不作处理的话,访问的链接会出现错误的
如果要用这个方法,必须要在织梦CMS后台,栏目管理——栏目——更改——高级选项——文章命名规则里面更改文章明明规则
才配得上使用这个方法
比如:这个方法访问的文章域名是:http://www.baiqiseo.com/zhimengphp/20180413974.html
但是有些没更改文章命名规则的文章显示的url会分成很多段
比如:http://www.baiqiseo.com/zhimengphp/2018/0413/974.html
这样,访问就会404了

如果不修改文章命名规则,可以用以下代码代替
<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}{dede:field name='arcurl'/}">
<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="{dede:global.cfg_mobileurl/}{dede:field name='arcurl'/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

方法B:或者使用(慎用)
把article_article.htm的的第9、10行删掉,即把
<meta http-equiv="mobile-agent" content="format=xhtml;url={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="{dede:global.cfg_mobileurl/}/view.php?aid={dede:field.id/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>


这段代码删掉;
 
然后加入pc自动跳转通用链接(加到article_article.htm的<head></head>标签之间
<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="/m"+location.pathname+location.search;}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>


这个是通用跳转,如果不考虑移动端的页面用二级域名访问,用这个方法是比较方便的,
但是如果移动端的页面要用二级域名进行访问,推荐使用方法A


3、移动端二级域名的问题
新版本的织梦自带的移动端都默认在子域名根目录下面的/m/目录
如果是自适应的网站还好,可以共用一个域名,且不用跳转
但是如果不是自适应的网站

PC端对应的移动端还是使用m.baiqiseo.com之类的二级域名会比较好,

另外,要在百度站长后台做好移动适配关系才更有利于SEO的优化。

方法:

先把移动端的二级域名解析到服务器,
然后在服务器添加主机头用域名把/m/绑定
注意IIS和Apache服务器的绑定方式是不同的

之后其实只需要把上面的“2、跳转问题”中的推荐方法的代码修改一下即可,
{dede:global.cfg_mobileurl/}这个代码修改为你的移动端的域名即可
假设移动端的域名是 http://m.baiqiseo.com,那么:

首页:

<meta http-equiv="mobile-agent" content="format=xhtml;url= http://m.baiqiseo.com/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=" http://m.baiqiseo.com/index.html";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

列表页:

<meta http-equiv="mobile-agent" content="format=xhtml;url= http://m.baiqiseo.com{dede:type}[field:typelink/]{/dede:type}">
<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://m.baiqiseo.com{dede:type}[field:typelink/]{/dede:type}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

文章页:

<meta http-equiv="mobile-agent" content="format=xhtml;url=http://m.baiqiseo.com{dede:field name='arcurl'/}">
<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://m.baiqiseo.com{dede:field name='arcurl'/}";}else if(/iPad/i.test(navigator.userAgent)){}else{}}catch(e){}}}}</script>

4 、用了二级域名后,移动端静态页面图片不显示的问题,解决方法:移动端与PC端公用图片,避免图片过多
(1)移动端静态首页图片不显示  注意:要找到移动端的静态模板进行修改
①CSS路径要写对
②焦点图:    
<img src="[field:litpic/]"> 改为:<img src="http://你的PC端域名/[field:litpic/]">
③列表图文资讯:[field:image/]  改为:<img src="http://你的PC端域名/[field:litpic/]">


(2)移动端静态列表图片不显示 注意:要找到移动端的静态模板进行修改
①CSS路径要写对
②列表图文资讯:<img src="[field:litpic/]"> 改为:<img src="http://你的PC端域名/[field:litpic/]">

(3)移动端静态文章图片不显示 
注意:要找到移动端的静态模板进行修改
{dede:field.body/}改为:{dede:field.body function='str_replace("/uploads/","http://你的PC端域名/uploads/",@me) /} 

当然也可以不修改,但是要在移动端目录m端下面建立一个跟网站根目录一样的/uploads/文件夹,把这个文件夹全部拷贝过去

这样就增加了不必要的储存空间



至此,移动端的静态生成、跳转、二级域名访问已经完美解决,^_^

解决了移动端静态页面的生成、跳转、m二级域名的问题之后,
如果要考虑到SEO的优化,因为会有移动端的动态url和静态url同时存在,
动态url和静态url访问的是相同的页面
这样搜索引擎会引起误判
会引起收录和权重分散的问题
我们可以利用 canonical标签解决

具体看相关的内容:

Canonical标签解决搜索引擎重复收录和权重分散问题

结合robots.txt使用更佳,让robots.txt文件里面屏蔽动态URL

还可以查看织梦批量添加Canonical标签的方法

tag标签:
------分隔线----------------------------
------分隔线----------------------------