情景需求
接到了一个任务,需求大概是是这样的,一个主网站,一个移动端网站(二级域名),同一个编辑界面。主网站和移动网站要可以使用不同的方式展现相同的内容,内容也可以选择发布在不同的域名下,共享用户数据。编辑通过一个界面为两个网站添加内容。尽可能的减少维护和编辑的工作负担。
抽象出来一下,就是共用一套drupal代码,共享用户和内容数据,通过权限发布内容到不同网站,不同网站可以使用不同的主题。这些通过domain access 模块就可以实现了。
实现
第一步:安装之前,配置服务器 DNS
使用domain access 模块,需要了解一些dns,强烈建议阅读 domain access 的官方文档。
这一步的目的就是让主域名和二级域名都解析到同一个位置,安装drupal的位置。
主要有两种方法,一种是用 *.example.com 解析到drupal安装的位置,另一种是分别让每个二级域名解析到drupal文件的位置。
第一种,如果服务器上有cpanel,是很容易实现的,创建二级域名,输入 *.example.com,在下面的文件地址选择drupal安装的位置即可。
第二种,比如在本地测试时,可以配置文件 httpd.conf,填入下面这样的代码
example.com => 127.0.0.1
one.example.com => 127.0.0.1
two.example.com => 127.0.0.1
如有不详之处可以查看官方文档。
第二步:安装 domain access 模块并激活
剩下的就比较简单了,安装 domain access 模块,根据自己的需求去激活使用模块,我在这个项目中激活了这些:
domain access:必须激活的
domain alias:域名别名,设置子域名等
domain configuration:为各个域名进行不同的网站信息配置,例如网站名,网站口号等。
domain settings:更多的设置。
domain source:可以选择文章是属于哪个域名的。
domain theme:每个域名使用不同的主题。
激活这些后,基本就可以满足需求了,当然,其他模块也是很有用的,就不一一列举了。
发布内容时可选发布到哪一个域名中,或发布到所有域名,这样就很方便了。
添加新评论