2010-10-09 31 views
0

我打算在codeigniter中開發一個網站。但不知道我要使用的方法是否是最好的方法。對於同一個站點將會有很多插件域。但內容將根據用於訪問該網站的域進行過濾。基於codeigniter中的域提供不同的內容

例如,如果用戶來自域 siteusa.com那麼內容將顯示爲相應的特定用戶過濾。如果用戶來自siteuk.com/sitechina.com內容會相應等filetered ...

我打算做這樣的事情來檢測URL和服務內容

$ref = getenv("HTTP_REFERER"); 
    echo $ref; 

另一個問題,我看到的是的BaseURL設置笨的,但我看到對於here

/* 
|-------------------------------------------------------------------------- 
| Base Site URL 
|-------------------------------------------------------------------------- 
| 
| URL to your CodeIgniter root. Typically this will be your base URL, 
| WITH a trailing slash: 
| 
| http://www.your-site.com/ 
| 
*/ 

if(isset($_SERVER['HTTP_HOST'])) 
{ 
$config['base_url'] = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on' ? 'https' : 'http'; 
$config['base_url'] .= '://'. $_SERVER['HTTP_HOST']; 
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']); 
} 

else 
{ 
$config['base_url'] = 'http://localhost/'; 
} 

一個解決方案是,這是做到這一點的最好方法是什麼?我是否可能遇到任何瓶頸?

站點的主要結構域將被服務未過濾的內容,並且每個附加域將根據濾波器,用於從後端每個域設置過濾。

+0

在自己的基本網址你就不能這樣做'$ _ SERVER [「HTTP_HOST」]',這將讓你有你的本地計算機進行測試多個enviroments,如過濾,我建議你標記什麼域內容,那麼在運行查詢時,它就可以與當前域匹配 – 2010-10-11 10:04:31

回答

1

是可能的.htaccess規則的選項嗎?請注意,CI還具有routes.php文件,用於對URL進行細粒度控制,但不是在我認爲的域級別。

0

我看不出在做這種方式的任何問題。這不會造成瓶頸,因爲附加功能的開銷可以忽略不計。

對於什麼是值得我做同樣的事情了SaaS服務我在何處運行多個網站(千)都指向相同的代碼點火器的安裝。我沒有任何問題。

至於過濾,只要確保你有適當的索引設置爲您將需要HTTP_HOST變量進行查詢。