【常用】phpcms v9站群多站点动态地址配置说明

phpcms默认的站群功能,是生成的静态页面,对于更新维护来说会比较麻烦,而且站点之间公共数据的调用也不方便。那么有没有什么办法可以实现,同一个管理后台,多站点动态地址,公共数据调用的功能呢?作者参考网上资料,整理总结了下具体的操作方法,希望对你有一定的帮助。

1、解析手机域名到对应服务器,服务器端绑定该域名

2、复制模板\phpcms\templates\下的“default”到同级目录,改成“defaultwap”

3、添加站点:填写正确的域名和模板

【常用】phpcms v9站群多站点动态地址配置说明

4、导入模型:可以导出默认站点的某个模型,然后导入到新站点就可以了

5、配置下参数:

1)配置路由:找到根目录下\caches\configs\route.php,复制下面的内容改成实际的

'xx.phpcms.cn'=>array('m'=>'content', 'c'=>'index', 'a'=>'init','data'=>array('GET'=>array('siteid'=>4))),

2)解决子站地址沿用主站的问题(内容页地址的更改)

找到内容管理模块的classes下面的url.class.php(\phpcms\modules\content\classes\url.class.php)
打开之后,找到89行
原句:$url_arr[0] = $url_arr[1] = APP_PATH.$urls;改成

$this->sitedb = pc_base::load_model('site_model');
$siteid=param::get_cookie('siteid');
$siteinfo=$this->sitedb->get_one(array('siteid'=>$siteid));
$url_arr[0] = $url_arr[1] = $siteinfo['domain'].$urls;

3)让子站点的栏目URL也修正过来!(栏目页地址的更改)

找到 modules/admin/category.php第463行
原句:$url = APP_PATH.$url;

$this->sitedb = pc_base::load_model('site_model');
$siteid=param::get_cookie('siteid');
$siteinfo=$this->sitedb->get_one(array('siteid'=>$siteid)); 
$url = $siteinfo['domain'].$url;

下载《【常用】站群多站点动态地址配置说明.zip》

源码获取:微信搜索“太友帮”或者微信号”taiyoubang”关注微信公众号,回复关键词”phpcms站群动态地址”即可获取

通过以上步骤,即可实现PHPCMS V9 站群多站点的动态地址配置效果

补充:如果文章是通过API接口推送到自己网站的情况,这时需要改下siteid的获取方式为这样即可,否则通过cookie是获取不到siteid的

将上文中的$siteid=param::get_cookie('siteid');改成
$siteid=get_siteid();

同时更改url.class.php(\phpcms\modules\content\classes\url.class.php) 里的
private function set_siteid() {
//$this->siteid = 1;改成
$this->siteid = get_siteid();
}

相关推荐