一、域名与空间的设置
在使用Dedecms构建网站时,CMS根目录下的m文件夹通常是手机网站访问的入口。为了使http://www. adminbuy .cn/m能够绑定到手机域名并成为http://m. adminbuy .cn,我们需要进行一些基础设置。
首先,要做的是域名解析到m文件夹,并在网站空间中将m文件夹设定为手机子网站。这一步骤确保了当用户通过手机访问时,能够正确地跳转至手机站点。
二、PC站模板的修改
完成域名和空间的基础配置后,接下来需要对Dedecms的模板及后台进行相应的调整。
1、在PC站模板中添加跳转代码,以便移动端用户访问PC站时自动跳转到手机站。以首页模板为例,可以使用以下跳转代码:
<meta http-equiv="mobile-agent" content="format=xhtml;url=http://m.adminbuy.cn/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="http://m.adminbuy.cn/index.php";
} else if (/iPad/i.test(navigator.userAgent)) {}
else {}
} catch(e){}
}
}
}
</script>
注意:其中跳转的目标地址已改为静态的超链接地址http://m. adminbuy .cn/index.php,因为Dedecms没有提供调用m域名的标签。
2、完成上述步骤后,手机访问PC站时就能自动跳转到手机域名下的网址。此外,列表页模板和内容页模板也需要类似的跳转处理。
三、Dedecms多站点设置
完成代码更改后,虽然PC站可以正常跳转到手机站,但可能会发现手机站的图片无法显示。这是因为Dedecms默认使用相对路径来引用图片资源,例如/uploads/allimg/2015/123.jpg。这样,在PC站上图片能正常显示为http://www. adminbuy .cn/uploads/allimg/2015/123.jpg,但在手机站上则会尝试访问http://m. adminbuy .cn/uploads/allimg/2015/123.jpg,而这个地址实际上是不存在的。
解决方法如下:
1、开启Dedecms多站点支持。
进入Dedecms后台系统基本参数的核心设置,将“支持多站点”选项设为“是”。这一操作使得附件、栏目连接、arclist内容启用绝对网址,从而解决首页和列表页图片不显示的问题。
2、让Dedecms内容页图片地址都改为绝对地址。
在修改内容页模板时,只需更改手机端的内容页模板article_article_m.htm,将其中的{dede:field.body/}替换为{dede:field.body function='replaceurl(@me)'/}即可。而PC端的内容页模板article_article.htm无需做此更改。
通过以上步骤,您可以成功实现Dedecms的PC站与手机站之间的无缝跳转,并确保所有图片资源都能正确加载。