记录下用m做wordpress移动站的教程。
安装插件 Domain Theme ,此款插件,可以添加N多个域名,并指定不同的主题,当然用来做m二级域名的移动站,更简单,插件比较简单,不做介绍。
接着,用js通过判断手机浏览器由www跳转到m域名。
function isMobileBrowser(){ var result=false; var sUserAgent= navigator.userAgent.toLowerCase(); var bIsIpad= sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs= sUserAgent.match(/iphone os/i) == "iphone os"; var bIsMidp= sUserAgent.match(/midp/i) == "midp"; var bIsUc7= sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4"; var bIsUc= sUserAgent.match(/ucweb/i) == "ucweb"; var bIsAndroid= sUserAgent.match(/android/i) == "android"; var bIsCE= sUserAgent.match(/windows ce/i) == "windows ce"; var bIsWM= sUserAgent.match(/windows mobile/i) == "windows mobile"; if(bIsIpad||(window.screen.height>=768&&window.screen.width>=1024)){ result=false; } else if (bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) { result=true; } else { result=false; } return result; } if(isMobileBrowser()){ var currentHref=location.href; currentHref=currentHref.replace("www.","m."); location.href=currentHref; }
到此,最基本的教程已经结束,但是还不完美,因为m域名中查看源码,会发现有好多资源,如css、js 都是引用www的。
根据WordPress的优先级,我们可以通过下面的代码覆盖数据库里面的这两个设置,也就是一个wordpress数据库绑定多个域名的方法。
$home = 'http://'.$_SERVER['HTTP_HOST']; #获取当前访问的域名 $siteurl = 'http://'.$_SERVER['HTTP_HOST']; define('WP_HOME', $home); define('WP_SITEURL', $siteurl);
把上面的代码放入到wp-config.php文件中,(找到wp-config的require_once(ABSPATH . ‘wp-settings.php’);在它的前面添加上面代码)。
到此,如果不安装缓存插件,教程已经结束了。
但是,因为wordpress的臃肿,我们平常不得不安装一些个缓存插件来对它进行加速。这里推荐hyper cache。它可以分别缓存pc站和手机站的内容。
如果主题是自适应的,推荐使用cos-html-cache,真正的纯静态缓存插件,关于原理,请阅读:wordpress的缓存插件cos-html-cache的源码解读
我感觉把主题简化一下,整个站点就轻松不少
现在百度很扯蛋,pc站排名很好,手机站却无。
算法太多。