• 站点关系

管理站点间的关系,站点可以有子站点,子站点继承父站点的部分配置数据,同时子站点还可以根据需要,本地化由父站点继承而来的数据。通过继承和本地化,可以让子站点在用最小的改动代价,来完成一个与父站点功能类似,但有部分不同的网站。

在创建子站点时,可以选择使用与Kooboo CMS中任何已经存在的站点的相同的内容数据库,也可以选择新建一个新的内容数据库。如果选择新建内容数据库时,新的内容数据库会复制父站点使用的内容数据库,但之后他们各种独立,不再有任何关系。

  • 站点配置(Site setting)

用于修改站点的配置信息,这些信息可以包括:

(1)基础设置

  • 显示名称

    站点名称一旦创建后就不可修改,如果要改变显示名称,通过这个设置来更改。

  • 使用的内容数据库

    指定要使用的内容数据库。只要保证View和Page中的相关数据查询仍然可以正常工作,开发人员就可以随时改变要修改的内容数据库。

  • 使用的会员数据库

    指定要使用的会员数据库。Kooboo CMS自带一个基本的会员系统,可以很方便地与站点结合。

  • 站点文化设置

    设置站点文化,可以根据不同的地区的语言文化设置:日期的显示格式 ,数字的显示模式等与语言文化相关的配置。

  • 时区设置

    设置站点服务器所在2时区。Kooboo CMS数据库存储的是UTC时间,设置时区会关系到显示的本地时间。

  • 是否显示站点管理首页的页面结构图开关

    页面结构图可以清晰的表现整个站点内的页面层次关系,但是当页面到达一定数量时,结构图的显示会导致站点运行空间减少和站点性能略为下降,但是你可以选择设置禁用该页面。禁用该页面后,用户登录后会默认重定向页面列表,如果用户没有页面管理权限,则会重定向到内容数据库管理首页。

  • 启用版本控制开关

    用于控制是否启用站点的版本控制功能。版本控制可以对Layout,View,HtmlBlock,Page进行版本记录和还原操作。

(2)域名设置

  • 域名

    绑定站点使用的域名,在绑定站点的域名不需 http:// ,不需要端口号。如果Kooboo CMS站点部署在虚拟目录下,也不需要指定虚拟目录。一个站点可以绑定多个域名。

    绑定站点域名,首先要求域名必须加到Kooboo CMS在IIS站点的主机头列表中。

  • 站点虚拟目录

    有些多语言站点可能会设置类似:www.site.com/cn的站点域名。这种情况的域名设置,需要先把www.site.com绑定到站点域名设置,然后再将cn绑定到站点虚拟目录。

  • 使用的设备

    Kooboo CMS支持将站点只给指定设备使用,比如做了两个站点,一个绑定给移动端,一个绑定给PC端。换个说法,同一个域名,移动端跟PC端访问可以进入不同站点。

  • SSL反向代理HTTP Header设置

    当站点使用HTTPS协议时,反向代理内网走的可能是HTTP协议,此设置用于设置HTTPS协议时的Header标识。

(3)站点资源设置

  • 站点皮肤设置

    Kooboo CMS支持一个站点多套皮肤,@Html.FrontHtml().RegisterStyles() 加载的是此配置的主题。

  • 站点版本设置

    此设置与Release模式时生成的压缩后的脚本、样式的路径有关。Release模式时修改了脚本、样式时版本号也会自动更新。

  • 站点运行模式设置

    有“Debug”与“Release”两种模式,Debug模式渲染的是原始引用脚本样式,通常用作调试用,线上可以使用Release模式,Release模式会对脚本、样式进行压缩打包。

  • 资源域名

    用于设置cdn域名,如果设置了cdn域名,在生成静态资源路径时会拼成cdn资源路径。

  • 在线编辑开关

    设置站点是否要启用在线编辑功能。Kooboo CMS很酷的一个功能,支持前台在线编辑内容,做到想改哪里点哪里。

  • 引用JQuery开关

    加载jquery到前台站点。

(4)SMTP设置

  • SMTP账号相关设置

    SMTP账号设置,有需要用到发邮件之类的可以用此配置,比如会员找回密码之类的功能。

(5)HTML META

用于配置页面Meta信息,是SEO人员比较关心的一些配置。可以使用 @Html.FrontHtml().Meta() 加载这些信息。

  • HTML标题
  • Canonical
  • 作者
  • 关键字
  • 描述
  • Meta块
  • 定义Meta字段

(6)安全设置

  • 密钥

    用于站点数据加密/解密的密钥。

(7)自定义字段

  • 开发者自定义字段

    开发者自己定义的一些信息,比如需要调用第三方API时,可以把API信息配置到这里,使用@Site.Current.CustomFields["key"]来取数据。

(8)站点用户管理

除了超级管理员之外,只有被添加到站点内的用户才可以维护站点的数据。添加站点用户是选择一个已经在系统中存在的用户,以一种或多种不同的角色添加到站点,让该用户具有维护站点数据的权限。

(9)URL地址重定向

对于某些情况下,开发人员需要将一个旧的URL请求重定向到一个新的页面地址,此时可能需要做301或302重定向。

Url地址重定向配置有两种模式:简单模式和正则表达式模式。

  • 简单模式:只是简单的设置一个输入地址和输出地址,配置成功后重定向到新的地址,如:输入/Home,输出/Articles。
  • 正则表达式模式:正则表达式模式匹配允许开发人员将输入地址中的部分值替换为新地址的模式串形成一个新的输出地址,如:输入模式串 product/(\d+),输出模式串Articles/$1。

(10)robots.txt

每个站点都可以有自己的Robots.txt,不会相互影响。

(11) A/B测试

A/B测试用于配置一些规则实现基于某些特定条件展现不同页面。支持规则类型包括

  • 浏览器语言
  • 随机访问
  • 用户IP
  • URL的querystring
  • 浏览器UserAgent

以下举个例子用于简要介绍该功能的用法,假设我们有这样一个需求:

	同一个URL,我们希望移动端(手机)用户访问的是A页面,PC端访问的是B页面。

操作步骤如下:

  1. 新建个规则,起个名字(比如“mobile”),选择规则类型为“Browser useragent”。点击下一步。

  2. 点击加号添加规则项,可以支持多个规则。起个名字(比如“mobile”),正则表达式是用于匹配浏览器UserAgent的,底部有一些常见的规则,可以直接点击使用或者自己编写正则表达式,然后点击“Next”。(本例中点击“Mobiles”项)

  3. 完成规则项编辑。点击“Finish”返回即可。

  4. 为了便于测试,我们新建两个页面,名字分别叫 A、B

  5. 点击左边菜单列表进入“A/B page settings”并点击“Create”新建页面规则。

  6. 配置规则页面

  7. 测试访问。分别在电脑、手机上访问同一个页面(本例是: 192.168.2.109:8090/a )



Kooboo CMS技术文档之五:站点配置管理的更多相关文章

  1. Kooboo CMS技术文档之四:Kooboo CMS的站点组成部分

    Kooboo CMS本着功能独立分离的原则,将站点分为三部分组成:用户管理,站点管理和内容数据库管理.各个功能之间既可独立使用,也可以容易组成在一起形成一个完整的系统. 用户管理 管理整个系统内的用户 ...

  2. Kooboo CMS技术文档之一:Kooboo CMS技术背景

    语言平台 依赖注入方案 存储模型 1. 语言平台 Kooboo CMS基于.NET Framework 4.x,.NET Framework 4.x的一些技术特性成为站点开发人员使用Kooboo CM ...

  3. Kooboo CMS技术文档之二:Kooboo CMS的安装步骤

    在IIS上安装Kooboo CMS Kooboo CMS安装之后 安装的常见问题 1. 在IIS上安装Kooboo CMS Kooboo CMS部署到正式环境相当简单,安装过程是一个普通MVC站点在I ...

  4. Kooboo CMS技术文档之三:切换数据存储方式

    切换数据存储方式包括以下几种: 将文本内容存储在SqlServer.MySQL.MongoDB等数据库中 将站点配置信息存储在数据库中 将后台用户信息存储在数据库中 将会员信息存储在数据库中 将图片. ...

  5. Kafka 技术文档

    Kafka 技术文档   目录 1 Kafka创建背景 2 Kafka简介 3 Kafka好处 3.1 解耦 3.2 冗余 3.3 扩展性 3.4 灵活性 & 峰值处理能力 3.5 可恢复性 ...

  6. RabbitMq 技术文档

    RabbitMq 技术文档 目录 1 AMQP简介 2 AMQP的实现 3 RabbitMQ简介 3.1 概念说明 3.2 消息队列的使用过程 3.3 RabbitMQ的特性 4 RabbitMQ使用 ...

  7. Docker最全教程之使用Node.js搭建团队技术文档站(二十三)

    前言 各种编程语言均有其优势和生态,有兴趣的朋友完全可以涉猎多门语言.在平常的工作之中,也可以尝试选择相对适合的编程语言来完成相关的工作. 在团队技术文档站搭建这块,笔者尝试了许多框架,最终还是选择了 ...

  8. Atitit usrQBK1600 技术文档的规范标准化解决方案

    Atitit usrQBK1600 技术文档的规范标准化解决方案 1.1. Keyword关键词..展关键词,横向拓展比较,纵向抽象细化拓展知识点1 1.2. 标题必须有高大上词汇,参考文章排行榜,1 ...

  9. [转]unity3d 脚本参考-技术文档

    unity3d 脚本参考-技术文档 核心提示:一.脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被 ...

随机推荐

  1. less学习

    // 1.变量:颜色可做+- // from @nice-blue: #5B83AD; @light-blue: @nice-blue + #111; #header { color: @light- ...

  2. JavaScript 自定义对象

    在Js中,除了Array.Date.Number等内置对象外,开发者可以通过Js代码创建自己的对象. 目录 1. 对象特性:描述对象的特性 2. 创建对象方式:对象直接量.new 构造函数.Objec ...

  3. 红黑树——算法导论(15)

    1. 什么是红黑树 (1) 简介     上一篇我们介绍了基本动态集合操作时间复杂度均为O(h)的二叉搜索树.但遗憾的是,只有当二叉搜索树高度较低时,这些集合操作才会较快:即当树的高度较高(甚至一种极 ...

  4. 初步了解nodejs

    什么是Node.js? 很多初学者并没有真正地理解Node.js到底是什么.nodejs.org网站中的描述也没有多大帮助. 首先要清楚Node不是一个Web服务器,这十分重要.它本身并不能做任何事情 ...

  5. ASP.NET MVC5+EF6+EasyUI 后台管理系统(74)-微信公众平台开发-自定义菜单

    系列目录 引言 1.如果不借用Senparc.Weixin SDK自定义菜单,编码起来,工作量是非常之大 2.但是借助SDK似乎一切都是简单得不要不要的 3.自定义菜单无需要建立数据库表 4.自定义菜 ...

  6. Android业务组件化之现状分析与探讨

    前言: 从个人经历来说的话,从事APP开发这么多年来,所接触的APP的体积变得越来越大,业务的也变得越来越复杂,总来来说只有一句话:这是一个APP臃肿的时代!所以为了告别APP臃肿的时代,让我们进入一 ...

  7. hadoop2.7之Mapper/reducer源码分析

    一切从示例程序开始: 示例程序 Hadoop2.7 提供的示例程序WordCount.java package org.apache.hadoop.examples; import java.io.I ...

  8. [转]Patch文件结构详解

    N久不来 于是不知道扔在哪儿于是放这里先 如果你觉得碍事的话 帮我扔到合适的版块去.. 导读这是一篇说明文 它介绍了标准冒险岛更新文件(*.patch;*.exe)的格式文章的最后附了一段C#的参考代 ...

  9. ASP.NET Core 中文文档 第四章 MVC(4.1)Controllers, Actions 和 Action Results

    原文:Controllers, Actions, and Action Results 作者:Steve Smith 翻译:姚阿勇(Dr.Yao) 校对:许登洋(Seay) Action 和 acti ...

  10. Java列表

    Java列表踩过的坑 其中subList是RandomAccessSubList,不是序列化的列表,不可以加入tair. 加入tair测试代码 @Autowired private CacheMana ...