dedecms手机站和PC站共用同一数据库的方法

时间:2022-04-28 00:27:31

  我们知道搜索引擎建议将手机站和PC站分开,虽然自适应可以适配不同的终端,但单独建独立的m站可能权重和排名更好,因为移动端的竞争度不同甚至更低、代码更精简、蜘蛛抓取更顺畅,所以要单独建手机站比较好。那么独立的两个站如何实现数据同步呢?这就就是我们今天要讲的主题。

  1.先将pc站建好,比如www.a.com,登录主站后台,将“系统设置”-“核心设置”-“支持多站点”功能关闭

  2.在空间控制面板创建m站点,比如m.a.com,将pc站的程序复制到m站,主要文件夹有data、dede(后台,可能已重命名)、include、plus、templates,(不用复制uploads附件目录和静态html文件目录)

  3.进入“新站”的templets目录,将相应的首页,栏目页和内容页等模板改为手机版的模板,因为是复制过来的,所以和主站的模板文件名是完全一致的,不要修改模板的文件名,这样在“新站”里点“生成”便可根据修改后的手机模板生成移动站的页面了;因为主站和移动站公用一个数据库,所以平时不用修改移动站里的相关设置,主站添加或删除了文章,移动站都会相应的变化,所以平时发布文章只需在主站进行,主站里发布了新文章,只需在移动站上生成页面就行了,为了方便管理,移动站除了生成静态页面以外,不要进行其他任何操作;

  4.这样m站已经建好,但是移动站里的图片可能无法正常显示,因为图片是相对路径。关于图片路径的问题,有两种方法解决:

  (1)将文章内容中的图片改为绝对路径。该方法需要对程序做简单的修改,首先找到主站目录include下的extend.func.php文件,先备份一份,编辑该文件,在最后加上下面这段代码:

function replaceurl($newurl) {   
$newurl=str_replace('src="/uploads/','src="http://www.a.com/uploads/',$newurl);
return $newurl;   
}

  在手机站文章页模板/templates/ytkah/article_article.htm中将文章正文的调用标签{dede:field.body/}修改成{dede:field.body function='replaceurl(@me)'/},即可将图片显示为绝对路径。

  (2)给附件目录绑定单独的二级域名,这样就不存在相对路径的问题了,在dedecms后台“系统设置”-“其他选项”中设置“是否绑定为指定的二级域名”。

  以上步骤亲测可用,有不清楚的朋友可以咨询ytkah