2010-10-27 115 views
3

嘿,Kohana的所有新的,我有一個快速的問題。在兩個站點之間共享一個Kohana安裝

我有一個網站,其中將有三個小節,由子域(即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的跟上時代的跨越三個站點只有一個更新,再加上我可以使用相同的模塊和模型類。有什麼辦法可以讓這種情況發生?還是有一些其他方法我應該使用?

謝謝!

+0

這是一個古老的問題,但對於其他想要這樣做的人,我發表了我自己用來做這件事的內容。 https://github.com/epicheals/kohana-multi-site-installer – William 2012-10-18 09:04:31

回答

6

我想出瞭如何做到這一點,所以我想我會回答它,以防別人需要知道。

我將我的systemmodules文件夾移出webroot(至/home/user/kohana/),並創建了一個名爲sites的文件夾。然後,我爲我的三個子域(admincommunitywww)中的每一個創建了三個單獨的文件夾/home/user/kohana/sites/。我將application文件夾的內容複製到每個這些文件夾,然後將index.php.htaccess文件複製到每個子域的Web根目錄。

在每個index.php文件,在上面,我說:

$install_dir = '../kohana/'; 

和編輯以下目錄中的變量,包括新的路徑:

... 
$application = $install_dir.'sites/admin'; 
... 
$modules = $install_dir.'modules'; 
... 
$system = $install_dir.'system'; 

和它的工作!沒有意識到移動目錄是多麼容易,我覺得有點愚蠢。希望我的解釋是連貫的,並在未來協助其他人。

+1

您也可以將應用程序文件夾移動到Web根目錄之外,並在Web根目錄中使用公共靜態資產,如Javascript,圖像和樣式表。所有你需要保持在web根目錄是index.php。 – 2010-10-30 17:00:43

+0

是的,index.php和cource,.htaccess文件 – egis 2010-11-23 08:45:51

相關問題