首先,对现有的对应关系不断进行改编,同时不断构建新的对应关系,以增加改编覆盖范围。其次,要保证提交的信件准确无误。以下是常见的对应不准确。请在网站上进行自查,及时改正。

1.手机页面不可用,如死链。

2.机器人被禁止。放开机器人对Baiduspider的禁令,让Baiduspider获得你的PC站和手机站的对应关系。

3.手机页面使用ajax等异步加载方式加载内容体。

4.格式错误。常规格式错误、文件格式错误等。

5.对应关系不对

1)PC页面为内容页面时,应该适配相应手机页面的内容页面,但实际上适配手机页面的首页/列表页面

比如PC页面是http://www.aaa.com/Book/2083259.aspx,改编手机页面是http://m.aaa.con/:from=web

2)手机页面本身没有主要内容或者主要内容太少。

3)手机页面需要登录才能浏览主要内容。

4)PC页面内容和手机页面内容没有一一对应关系4)PC页面内容和手机页面内容没有一一对应关系。

正确对应的示例:

个人电脑页面http://www.58.com/mmmshandongrencai/

手机页面http://m.58.com/w/mmmshandongrencai/

常规格式描述

以http://news.a.com站对http://m.a.com站的改造为例:

适配个人电脑链接地址是http://news.a.com/09/1001/07/5KH8DE1F000120GR.html,

自适应移动链路地址是:http://m.a.com/news/09/1001/07/5KH8DE1F000120GR.html

第一步:确定适配环节中可替换的参数或路径,得到位置序号和类型。

适配电脑链接:

根据网站url的层次结构,09,1001,07和5KH8DE1F000120GR是可动态替换的路径。除了5KH8DE1F000120GR是字母和数字的混合,其他都是纯数字。

第二步:根据可替换参数或路径的类型,得到链接的表达形式。

使用常规匹配符号(\d)或(\w)

)表示该路径或参数。(\d+)表示纯数字字符串,(\w+)表示字母数字下划线组成的字符串。


步骤三:根据移动链接,以及可替换参数在步骤一中的位置序号,依次用${1},${2},……表示替换掉适配PC链接中的可替换参数或路径,得到适配后的移动链接的pattern形式。



至此,便得到了适配的规则:

news.a.com/(\d+)/(\d+)/(\d+)/(\w+).html

m.a.com/news/${1}/${2}/${3}/${4}.html


正则格式示例:

1、纯数字替换生成pattern例子:

eg1:url对应关系:

abc.com/26299483.html-> m.abc.com/26299483.html
pattern:
abc.com/([0-9]+).html-> m.abc.com/${1}.html

eg2:url对应关系:

abc.com/t26299483.html-> m.abc.com/26299483.html
pattern:
abc.com/t([0-9]+).html-> m.abc.com/${1}.html

2、纯字母替换生成pattern例子:

eg:url对应关系:

abc.com/fawliute/ -> m.abc.com/fawliute/
pattern:
abc.com/([a-zA-Z]+)/ -> m.abc.com/${1}/

3、字母和数字混合的字符串替换生成pattern的例子:

eg1:url对应关系:

abc.com/a1cc1n2q5y3/ -> m.abc.com/a1cc1n2q5y3/
pattern:
abc.com/((?:[a-zA-Z]+[0-9]+|[0-9]+[a-zA-Z]+)[a-zA-Z0-9]+)/ -> m.abc.com/${1}/

注意:字母和数字混合字符串,字母和数字必须交替出现至少1次

有效例子:a13b,23a9,da3bc99,42a1c

eg2:url对应关系:

news.abc.com/09/1001/07
-> m.abc.com/news/09/1001/
pattern:
news.abc.com/([0-9]+)/([0-9]+)/([0-9]+)/([ a-zA-Z0-9]+).html
-> m.abc.com/news/${1}/${2}/${3}/${4}.html

4、对于字母和数字只交替出现一次的,可以分别用数字和字母进行正则替换:

eg:url对应关系:

abc.com/az123/ -> m.abc.com/az123/
pattern:
abc.com/([a-zA-Z]+)([0-9]+)/-> m.abc.com/${1}${2}/

5、中文字符串正则替换生成pattern例子:

eg:url对应关系:

abc.com/长城花园/ -> m.abc.com/长城花园/
pattern:
abc.com/((?:%[a-zA-Z0-9]{2,})+)/-> m.abc.com/${1}/

6、由'-'或者'_'连接的数字或者字母替换生成pattern的例子:

eg:url对应关系:

abc.com/byd-c3/-> m.abc.com/byd-c3/
pattern:
abc.com/([a-zA-Z]+)-([a-zA-Z]+)([0-9]+)/->m.abc.com/${1}-${2}${3}/

注意:'-'和'_'出现多次可以使用同样的方式处理
如:abc-134_x-1

7、对参数部分进行正则替换生成pattern的例子:

eg:url对应关系:

abc.com/article.html? -> m.abc.com/article.html?
pattern:
abc.com/article\.html?act=([^&]+)&id=([^&]+) -> m.abc.com/article.html?${1}&id=${2}


8、PC存在分页对应移动页面生成pattern的例子:

eg:url对应关系:

a.com/1234-1.htm a.com/1234-2.htm ->m.a.com/1234.htm
pattern:
a.com/([0-9]+)-([0-9]+).htm -> m.a.com/${1}.htm