站长学院
CMS建站教程 SEO优化攻略
来源:齐鲁CMS 栏目:PHPCMS 阅读: 日期:2024-04-25
大家知道有个phpcmsV9多站点功能,其实就是站群功能,下面来说说怎么用来开发动态网站和静态网站。动态网站,就是域名是动态的,带有&和?之类字符的,静态网站,就是纯HTML文件。详情看文章内容。
大家知道有个phpcmsV9多站点功能,其实就是站群功能,下面来说说怎么用来开发动态网站和静态网站。
动态网站,就是域名是动态的,带有&和?之类字符的,静态网站,就是纯HTML文件
建好之后,进入子站,进行模型导入,栏目建设,内容录入等工作
新建的子站没有模型,将主站的模型导出,再进入子站,把模型导入
记得栏目和内容都设置成静态
添加测试内容,进行下一步骤,更新URL,更新栏目,更新首页,更新全站缓存
接下来配置服务器
用IIS,直接新建 网站 的形式来操作,文件夹目录直接指向子站的文件夹名
用APACHE ,进行配置文件设置,如下图:
接下来讲动态配置站群,需要用到动态的URL,就需要操作 PHPCMS 的路由功能
找到 根目录下 \caches\configs\route.php
打开之后,看下代码:
<?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 ,这里是系统默认的,你也可以更改成你的站点域名,比如 www.qilucms.com
这是一个数组,default 对应的值,又是一个数组,注释里很详细了,关键是站群设置关键的地方,就是data 键
新建了一个北京站,域名是 beijing.qilucms.com,接下来,就这样写这个数组;
'beijing.qilucms.com'=>array('m'=>'content', 'c'=>'index', 'a'=>'init','data'=>array('siteid'=>'2')),
最关键的是后面的siteid 的值是多少,不要传错了,根据系统的值来写
服务器方面,APAHCE 直接指向根目录就可以,IIS方面没操作过,自行研究
子站添加内容,URL 会继续沿用 站点1 的URL ,比如
子站的域名是 beijing.qilucms.com
添加文章之后,URL会变成 www.qilucms.com/index.php?m=content........
而不是我们需要的 beijing.qilucms.com/index.php?m=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;
让子站点的栏目URL 也修正过来!
找到 modules/admin/category.php 第418行
原句:
$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;
好了,直接使用吧~
上一篇:phpcmsV9多少秒多少分钟多少小时多少天多少年前发布文章
下一篇:最后一页