2012-10-11 216 views
1

早上好,我有一個問題,我找不到解決方案。 我需要將多個域指向同一個文件夾,但是當我創建一個子域指向具有相同子域名稱的文件夾時,我的主機託管。子域名和url重寫

,我希望能有結果是:

demo.domainname.tld/index.php將指向www.domainname.tld/shop/index.php?username=demo demo.domainname.tld/product.php?id=100將指向www.domainname.tld/shop/product.php?id=100&username=demo

test.domainname.tld/index.php將指向www.domainname.tld/shop/index.php?username=test test.domainname.tld/product.php?id=100將指向www.domainname.tld/shop/product.php?id=100&username=test

保持在url的子域名地址。

我正在創建一個電子商務平臺,我想通過保留子域的用戶名來使用獨特的電子商務並加載不同的內容。

它有可能嗎?怎麼樣?

回答

0

一個只要所有*.domainname.tld DNS條目指向同一個IP作爲www.domainname.tld,他們都有着相同的文檔根目錄,你可以添加這些規則,在文檔根htaccess的:如果你

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTP_HOST} ^([^.]+)\.domainname\.tld$ [NC] 
RewriteRule ^/?index\.php$ /shop/index.php?username=%1 [L,QSA] 

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTP_HOST} ^([^.]+)\.domainname\.tld$ [NC] 
RewriteRule ^/?product.php$ /shop/product.php?username=%1 [L,QSA] 

希望實際執行重定向,從而更改瀏覽器地址欄中的網址,在方括號中包含R標誌,以便它們看起來像:[L,QSA,R][L,QSA,R=301]以實現永久性重定向。

+0

當我創建一個子域名的文件夾創建出www根,然後我不能使用您的重寫規則? – user1739269

+0

@ user1739269然後,您需要將這些規則放置在子域的根目錄中。 –

+0

我已經嘗試過並且這樣說:未找到 在此服務器上找不到請求的網址/shop/index.php。 – user1739269