我有一个网站,其中有三个子部分,由子域名组织(即admin.site.com,community.site.com,www.site.com),但每个子部分将从同一个数据库中提取,因此应该共享相同的型号.有没有办法组织它,以便我可以为每个子域使用相同的Kohana模型/系统/模块文件,但保持应用程序文件夹分开?就像是:
/home/user/admin/
application/
bootstrap.PHP
cache/
...
index.PHP
/home/user/community/
application/
bootstrap.PHP
cache/
...
index.PHP
/home/user/public_html/
application/
bootstrap.PHP
cache/
...
index.PHP
/home/user/kohana/
modules/
...
models/
...
system/
这样我可以在三个站点中保持Kohana最新只有一个更新,而且我可以使用相同的模块和模型类.有什么方法可以让这件事发生吗?或者我应该使用其他方法吗?
谢谢!
解决方法:
我想出了如何做到这一点,所以我想我会回答它以防其他人需要知道.
我将我的系统和模块文件夹移出了webroot(到/ home / user / kohana /)并创建了一个名为sites的文件夹.然后我在/ home / user / kohana / sites /中为我的三个子域(admin,community和www)创建了三个单独的文件夹.我将应用程序文件夹的内容复制到每个文件夹中,然后将index.PHP和.htaccess文件复制到每个子域的webroots.
$install_dir = '../kohana/';
并编辑以下目录变量以包含新路径:
...
$application = $install_dir.'sites/admin';
...
$modules = $install_dir.'modules';
...
$system = $install_dir.'system';
它奏效了!因为没有意识到移动目录是多么容易,我觉得有点愚蠢.希望我的解释是连贯的,并在将来协助其他人.