2010-10-02 65 views
6

我不是一個非常有經驗的程序員,並且第二次使用CodeIgniter。Codeigniter,域到某個地區的網站

假設我有www.domain1.com。所以我會說,有3個控制器/ area1,/ area2,/ area3。如果我將基本URL設置爲www.domain1.com,用戶可以訪問它們,如www.domain1.com/area1等。但我的問題是,客戶希望某個區域的網絡,比如area2,在其自己的領域中作爲一個微型網站,因此他想通過www.domain2.com訪問area2。

我不知道如何使用CodeIgniter來處理這個問題。假設他註冊了www.domain2.com並將其設置爲指向相同的DNS,服務器等。訪問URL www.domain2.com時,如何讓CodeIgnitor執行控制器區域2?

也許會改變$config['base-url']?路由? .htaccess?請,如果你已經解決了這個問題,不勝感激代碼的例子。

編輯:我會把我想要得到的網站的例子。

我笨的一個正常的安裝(外部主機,我無法訪問httpd.conf)它是一臺機器上,而該網站的根應該由www.domain1.com

所有域名都可以訪問外部註冊。所以我有家庭控制器,它顯示了主頁面視圖。假設該網站有3個區域/ area1/area2/area3及其相應的控制器,顯示這些區域的視圖。

我的客戶要強調的領域之一,該控制器/面積2顯示了一個,他想用不同的域該區域,www.domain2.com

我能做些什麼,以便當用戶瀏覽到www.domain2.com,CI將他們重定向到www.domain1.com/area2?例如,我可以根據收到的URL修改$config['base_url'],還是不可能?我需要修改.htaccess文件嗎?

+0

如果我是正確的area2的控制器是在所有其他控制器相同的域? – ITroubs 2010-10-02 14:16:48

+0

所有的控制器都在同一個託管的同一個文件夾上,只有一臺物理機器,一臺託管) – 2010-10-03 08:16:46

+0

我只是希望能夠查看/ area2控制器的結果使用不同的域名訪問codeigniter根目錄。 – 2010-10-03 08:17:32

回答

7

很多搜​​索之後,我發現,似乎工作的解決方案,非常容易說實話:

修改routes.php

if ($_SERVER['HTTP_HOST']=="www.domain2.com") { 
    $route['default_controller'] = "area2"; 
} 

不需要mod重寫。

+0

我喜歡這個,你也需要確保domain1.com不能訪問area2,例如。添加:if($ _ SERVER ['HTTP_HOST'] ==「www.domain1.com」){$ route ['area2'] =「diff_controller」;} – 2010-10-05 16:08:10

+0

你應該接受你的問題的答案,點擊綠色在每個答案旁邊打勾 - 這會標記問題已解決,並且會給提問者和回答者一個小的回報以解決他們的問題。在這種情況下,既然你解決了你自己的問題,你應該接受這個答案。 – 2010-11-04 03:34:40

+0

這是最好的解決方案,我現在正在使用的東西也是。 – Ash 2010-12-17 19:46:50

0

這裏是一個有用的鏈接.... http://www.askaboutphp.com/88/codeigniter-setting-up-multiple-sites-on-one-install.html 從來沒有真正做到這一點我自己,但是這似乎是去了解它,而不帶有兩個詞的安裝方式。祝你好運。

+0

Cheked the site ... – 2010-10-03 08:24:28

+0

這不是真的我的情況,所以我不想像他那樣有diffreent aplications。我只想訪問我的唯一應用程序的一部分(它是整個網絡的一部分)與一個不同的域。檢查我的編輯示例。 – 2010-10-03 08:25:48

-1

我想到的第一個解決方案是使用Apache mod_rewrite,但據我所知只能用於內部重定向(即駐留在同一服務器/域中的資源)。

使用iframe怎麼樣?您可以使用全頁面iframe來設置domain2.com主頁,該頁面從domain1.com/area2獲取內容。

+0

然後我會嘗試研究mod_rewrite的posibilities。 iframe的想法也是一個不錯的選擇,也會嘗試。 – 2010-10-03 14:12:03

0

你肯定需要去mod_rewrite的方式

+0

我會嘗試學習mod_rewrite posibilities然後 – 2010-10-03 14:10:45