多站点系统是DotNetNuke其中一个很强的功能, 我在这里会介绍下DNN多站点系统是如何工作的,看过这篇文章你将会了解它是如何帮我们节省租用主机的费用以及DNN主站点和子站点的区别。
摘要:
普通的虚拟主机租用方式通常是, 你买一个域名然后买一个虚拟主机服务套餐,如果你想再买另外一个域名,你可能有两个选择
这些都需要你再掏腰包,在IIS里创建一个新的网站,和买一个新的虚拟主机显然都不是免费的,那么为多个域名购买主机网站空间就变成了你生意一个很大的开销。
DotNetNuke 可以用一个主机服务帐号(1个IIS网站)来管理运行多个域名。 在主机中你只需要安装一个DotNetNuke网站然后在 DNN 系统中为每个域名创建一个站点(portal)。 如此简单,你再不需要为你的这些网站付多份主机服务费了。 每个域名下站点的内容看起来都是独立的,互不影响。
DNN 的多站点系统是如何工作的呢?
图1 – DotNetNuke 多站点系统示意图
在 DotNetNuke 社区经常会有人搞不清楚主站点(parent )和子站点的区别。 其实他们唯一不同的只有URL
http://skins.dnnmix.com
http://group.cnblogs.com
* 请注意这里包含子域名
http://modules.dnnmix.com/blog
* 请注意子域名同样可以拥有子站点
* 如果在域名后使用 “/” 例如 www.dnnmix.com/ 这将是一个子站点
所有的站点(portal), 不论是子站点还是主站点都是平等的, 他们在功能和管理上没有任何的不同。 当你创建一个站点,DotNetNuke会给你一个默认的站点编号 (portal number) 站点编号是从零开始的。 在这里站点 100 和站点 0 是没有任何优先区别的。
主站点和子站点唯一不同的是, 建立子站点的时候会在 DNN 网站主目录生成一个同名的目录,例如建立子站点www.dnnmix.com/blog 网站主目录下会生成blog文件夹, 里面有一个default.aspx, 这个文件会转向请求到主目录。因此可以看到主站点因为没有转向所以会有一点点性能上的优势。
当首次访问子站点,你会发现URL是以下形式
当你再点击网站内的其他连接URL将会是正常的, 只有在第一次读取子网站时URL才会重写出现?alias=blog, 如果你想要去掉它可以看看John Mitchell在他blog中的方法 。
当创建站点的时候 DotNetNuke 会分配一个站点编号给这个站点, 同时会在/portals 目录下生成一个以编号命名的文件夹,例如创建子站点www.dnnmix.com/blog 站点编号是3,你会发现/portals/3 这个目录已经生成了。 这个目录里包含的是和这个站点相关的一切资源,例如日后上传站点专用皮肤会直接传到/portals/3这个文件夹,文件管理器里上传的文件也会传到这个文件夹… 这样确保了各个站点间的资源独立。
当你在添加新站点的时候可以用定制功能重新命名/portals/3这个文件夹,但是在建立完站点的时候就不能修改了
只有主机管理员(host account)才拥有管理所有的主站点和子站点的权限。
如果一个用户在其中一个站点注册并获得了站点管理员权限, 那么这个用户只能编辑管理他所在的站点。
另外主站点和子站点的管理是完全一样的。
现在我想你已经了解了 DotNetNuke 多站点系统的基本工作原理, 接下来有时间我会介绍下如何设置和管理多站点系统。
原文转自:
http://www.dnnmix.com/dotnetnuke-multiple-portals-guide/