2015-03-25 14 views
0

我有一個基於CI構建的主站點(www.example.com)。最近我想用移動子域名(m.example.com)創建一個移動版本的網站,並使用JQuery移動設備創建不同的視圖,但是想要使用我主要應用程序中的大部分代碼(特別是模型,兩者的查詢都是相同的)。在子域中爲現有CodeIgniter站點提供移動應用程序

思考和實施過程爲做了哪些這裏所說 Redirecting to mobile subdomain in a CI application

我有完全相同:

controller 
home.php (for main site) 
mobile.php (for mobile site) 

有了一些研究,我能夠做到一招以「config.php文件」和「routes.php」就像這樣。

[config.php] 
$config['base_url'] = 'http://www.example.com'; 
$config['mobile_url'] = 'http://m.example.com'; 


[routes.php] 

switch ($_SERVER['HTTP_HOST']) { 
    case 'm.example.com': 
     $route['default_controller'] = "mobile"; 
    break; 
    default: 
     $route['default_controller'] = "home"; 
    break; 
} 

到目前爲止,這看起來不錯,但在引擎蓋下,它不能正常工作。

當我去m.example.com,它加載移動版本的網站很好,但我不能走得更遠。例如,我想在此移動版本的站點上實現搜索功能,但無法實現此子域的子功能。

m.example.com/search/term 

根本沒有工作。它執行主站點,並呈現主站點的視圖。

這更像是主站點(www.example.com/mobile)的子頁面,而不是不同的域中的不同應用程序。

現在我想創造上同樣CI安裝移動版獨立的應用程序的

假設

system 
mainsite 
mobilesite 
www 

我的問題:

1)什麼是創建移動版本的最佳方式的應用程序,我可以重用主應用程序的代碼?我應該保持我的舊方法(重定向到控制器)還是構建單獨的應用程序?

2)如果兩個獨立的應用程序是要走的路,我如何根據域名重定向到正確版本的index.php文件。也就是說,如果用戶輸入www.example.com,它會轉到主站點,而m.example.com應該重定向到移動版本。目前我有一個index.php網站上運行的主要應用程序。

我真的很感激一些建議和提示。

順便說一下,我已經使用了一些關於這個主題,但無法找到我正在嘗試做的確切答案。

我發現像

http://code.tutsplus.com/tutorials/basecamp-style-subdomains-with-codeigniter--net-16330

,但我不是不同的充子域名服務相同的應用程序,而不是後,我想創建一個子域單獨的應用程序。

本主題 Is there an easy way to create subdomains on codeigniter?似乎在某個地方去,但它不是很清楚,我

在此先感謝。

回答

1

剛纔意識到我正在用錯誤的方法解決問題。

其實這解決了這個問題,這就是我真正想要的。

  1. 創建一個移動子域形成我的託管cPanel。
  2. 創建1:1桌面站點視圖等同於移動站點。
  3. 使用MobileDetect腳本作爲助手並基於檢測到的設備,路由到正確的視圖。

謝謝大家......希望這會有所幫助。

相關問題