PHPCMS V9多站点[站群功能]动态设置与静态设置子站内容URL

今天我们来讲解下 PHPCMS V9的站群功能的 动态站点与静态站点的配置


站群站点,分为动态站点,和静态站点两种设置方法:

静态的,就是将栏目和内容都了HTML 文件,
我们先讲解下,站群的操作:

建好之后,进入你的子站,进行,模型导入,栏目建.设,内容-录入等工作

新建的子站,是木有模型的,我们就将主站的模型导出,再进子站,把模型导入;

记得,栏目和内容都设置成静态

我们添加测试内容,进行下一步骤,更新URL,更新栏目,更新首页,更新全站缓存


接下来,配置关键的;就是你的服务器;如果你是用IIS 的,
就直接新建 网站 的形式来操作,文件夹目录直接指向子站的文件夹名

如果你是APACHE ,那就需要进行配置文件设置了
如下图:

-----------------------------------动态配置-----------------------------------


接下来讲动态配置站群,也就是URL 都是采用屏蔽词汇址的,因为很多时候,我们需要进行功能方面的实验,静态,不方便美工或者程序员对程序的测试!


所以,我们需要用到动态的URL,这个时候,就需要操作 PHPCMS 的路由功能了

找到 根目录下 \caches\configs\route.php


打开之后,我们看下代码:

如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
/**
* 路由配置文件
* 默认配置为default如下:
* 'default'=>array(
*  'm'=>'phpcms', 
*  'c'=>'index', 
*  'a'=>'init', 
*  'data'=>array(
*   'POST'=>array(
*    'catid'=>1
*   ),
*   'GET'=>array(
*    'contentid'=>1
*   )
*  )
* )
* 基中“m”为模型,“c”为控制器,“a”为事件,“data”为其他附加参数。
* data为一个二维数组,可设置POST和GET的默认参数。POST和GET分别对应PHP中的$_POST和$_GET两个超全局变量。在程序中您可以使用$_POST['catid']来得到data下面POST中的数组的值。
* data中的所设置的参数等级比较低。如果外部程序有提交相同的名字的变量,将会覆盖配置文件中所设置的值。如:
* 外部程序POST了一个变量catid=2那么你在程序中使用$_POST取到的值是2,而不是配置文件中所设置的1。
*/
return  array (
'default' => array ( 'm' => 'content' 'c' => 'index' 'a' => 'init' ),
);

讲解下这个文件哦

注释里,很清楚明白的说明了这个文件的操作方法:

那么,这是一个返回数组的形式的一个文件:

他将什么返回了呢?返回的是站点列表。

每个站点,以
'default'=>array('m'=>'content', 'c'=>'index', 'a'=>'init'),

的形式进行传值

default 就是你的站点URL ,这里是系统默认的,就是default,当然,你也可以将他更改成你的站点域名,比如 www.phpcms.cn

这是一个数组,default 对应的值,又是一个数组,里面的说明,在注释里很详细了,我就不再啰嗦了,关键是站群设置关键的地方,就是data 键

我新建了一个北京站,域名是 beijing.phpcms.cn

那么接下来,我就这样写这个数组;

'beijing.phpcms.cn'=>array('m'=>'content', 'c'=>'index', 'a'=>'init','data'=>array('siteid'=>'2')),

最关键的是后面的siteid 的值是多少,不要传错了,根据你系统的值,你再看看,然后再写;

服务器方面怎么设置呢?APAHCE 直接指向根目录就可以了
IIS方面,我没操作过。就不多加说明了

/***********更新***********/

子站添加内容,URL 会继续沿用 站点1 的URL ,比如
子站的域名是 beijing.phpcms.cn
添加文章之后,URL会变成 www.phpcms.cn/index.php?m=content........
而不是我们需要的 beijing.phpcms.cn/index.php?m=content.............
出现这个情况,怎么解决?

找到 内容管理模块的 classes 下面的 url.class.php

打开之后,找到 89行

原句: $url_arr[0] = $url_arr[1] = APP_PATH.$urls;

改成

?
1
2
3
4
$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 ;

让子站点的栏目URL 也修正过来!

找到 modules/admin/category.php 第418行

原句:$url = APP_PATH.$url;

修改为:

?
1
2
3
4
$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 ;

 

转载于:https://www.cnblogs.com/roam/p/3504769.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值