2011-09-01 32 views
1

我正在嘗試在代碼點火器框架內使用具有不同域名的codeigniter全部使用相同的代碼結構。具有不同域名的Codeigniter

所有域中的庫,模型和數據庫應該是相同的,唯一的區別應該是所使用的控制器和視圖。

最好我想有一個類似的設置:

controllers/domain1.com/index.php 
controllers/domain2.com/index.php 
controllers/domain3.com/index.php 

沒有人有任何經驗,修改代碼點火器以這種方式工作?

回答

2

查看手冊中的loader class頁面,並向下滾動到應用程序「包」部件。結合運行Multiple Applications的部分,您應該可以運行多個站點,使用相同的模型和配置並避免重複您的代碼。

+0

感謝的作品近完美。只有兩個輕微的小錯誤1)我需要在每個控制器的__construct中調用「add_package_path」,是否有自動加載包的方法2)無法移動配置文件夾,有沒有辦法讓我每個站點都使用相同的配置文件夾? – robjbrain

+0

1)按照此處所述創建您自己的控制器 - http://codeigniter.com/user_guide/general/core_classes.html - 並使用該構造自動加載應用程序包。 2)我不確定我是否明白'移動配置文件夾'是什麼意思? – Repox

+0

我正在做類似的事情,並且我自動加載包的操作是將該包添加到config文件夾中的自動加載文件中。至於配置文件夾,我不知道有一種方法讓不同的應用程序共享一個配置文件夾(我不知道這是個好主意),但我所做的只是在每個應用程序中都有一個配置文件夾。 – somomomo

0

根據我的經驗,我需要在不同的子域上構建一個系統,因爲默認域有一個現有的基礎codeigniter,它不是設計來處理多個域或子域。

我的目標和組成部分是:

  • 使用DIR配置,核心,助手和庫現有的共享核心對象。
  • 與現有的公共目錄文件,但單獨的圖像/ mysubdomain/*等目錄/子域/ *

所以這是我做了什麼。

  • 我在同一配置目錄修改router.php並提出,在一個單獨的目錄路由mysubdomain /裏面默認缺省控制器的條件,如果子域===真
  • 即。 /controllers/mysubdomain/default.php
  • 使用單獨的基本控制器,擴展主控制器內部/ controllers/mysubdomain /。
  • 然後mysubdomain定義(即模型/ mysubdomain/*和視圖/ mysubdomain/*在我mysubdomain所有控制器。

,這完美的作品,因爲我需要它。

相關問題