2013-02-06 22 views
1

我們有一個自定義組件,爲註冊用戶提供各種美妙的事物。其中的要求是能夠使用用戶名作爲子域來檢索和使用各種設置。例如http://abc.ourdomain.com必須以用戶名「abc」檢索jos_users記錄。從那裏我們在會話中使用該信息,並使用這些值繼續進行組件功能。如何將子域鏈接到joomla用戶?

我試着修改$ _SERVER [「HTTP_HOST」]來開始,但希望有一個更清潔的方法與htaccess,或更好地服務於目的的插件。

+1

我從來沒有試過這種替換[L],但它應該與htaccess的工作。我會嘗試[這](http://stackoverflow.com/questions/2322586/simple-htaccess-redirect-subdomain-to-folder) –

+0

這看起來很有前途... htaccess是我的巫術,所以只要它留給我要弄清楚要做什麼,我甚至不知道如何正確地谷歌它。我認爲這是我需要的起點。謝謝。 – GDP

+0

我也有同感。我以前看過類似的情況。絕對想要一種在我看來使用變量的方式,所以你不必設置每個用戶。如果您將「folder」更改爲組件的名稱,那麼甚至可以在組件的router.php文件中設置一些內容以便在子域不存在的情況下進行檢查,您可以將它們發送到除404錯誤。 –

回答

2

像這樣的東西可能在一個.htaccess文件工作:

Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !www\. [NC] 
RewriteCond %{HTTP_HOST} ^([^\.]+)\.ourdomain\.com [NC] 
RewriteCond %{REQUEST_URI} !getuser\.php [NC] 
RewriteRule .* http://ourdomain.com/getuser.php?user=%1  [L] 

地圖默默

http://abc.ourdomain.com

要:

http://ourdomain.com/getuser.php?user=abc

捕獲的子域abc分組到組%1並將其作爲查詢附加到腳本。

abc是一個變量字符串。

getuser.php可以是任何腳本。密鑰user就是一個例子,它也可以是任何名字。

對於永久重定向,與[R = 301,L]

+0

我認爲這正是我正在尋找的。當我等待足夠的時間來接受你的答案時,我將會修補它。非常感謝,特別是不要斥責我沒有「展示我所嘗試過的東西」(你如何投入一天的時間修補以滿足這個需求,哈哈)... – GDP

相關問題