2011-10-05 65 views
0

我設置了虛擬子域。我想打的htaccess才達到以下流動文件訪問子域重寫規則不影響主站點文件

對於 www.domain.com

應該調用索引文件,但爲子域

abc.domain.com 

重寫規則應該像

RewriteRule www.domain.com/index.php?var=abc 

我的意思是它應該(在HTACCESS中)將子域作爲參數傳遞給索引文件

,並像

abc.domain.com/file.php 

的其他文件請求的子域應該像www.domain.com/file.php?var=abc

重寫我的意思是像

RewriteRule www.domain.com/file.php?var=abc 

回答

0

的解決方案是這樣的

RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] 
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$ [NC] 
RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^(.*)$ http://www.domain.com/index.php?subdomain=%1 [L] 


RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] 
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$ [NC] 
RewriteCond %{QUERY_STRING} !^$ 
RewriteRule ^(.*)$ http://www.domain.com%{REQUEST_URI}?%{QUERY_STRING}&subdomain=%1 [L] 
0

重寫規則這將是你怎麼可以在做他們個人基礎。

RewriteCond %{HTTP_HOST} ^abc\.domain\.com$ [NC] 
RewriteRule (.*)$ http://www.domain.com/file.php?var=abc [L] 

RewriteCond %{HTTP_HOST} ^def\.domain\.com$ [NC] 
RewriteRule (.*)$ http://www.domain.com/file.php?var=def [L] 
+0

無子域是動態的,我需要一個一般的規則,每當一個子域調用一個文件,然後該文件應與VAR稱爲= SUBDOMAIN論爭該文件可以處理子域...我不能有硬編碼的規則... – HardCode