2011-12-16 46 views
0

我有一個htaccess用於創建虛擬子域,其工作的罰款htaccess的虛擬子域和參數

RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] 
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$ [NC] 
RewriteCond %{REQUEST_URI} !\.(css|gif|ico|jpg|js|png|swf|txt|JPG)$ 
RewriteRule ^(.*)$ virtialsubdomain.php?subdomain=%1 [L] 

利用上述我可以例如virtual1.domain.com,virtual2.domain.com等

見我想延長htaccess的,所以我可以通過2個參數用於尋呼和排序

virtual1.domain.com/p/3 show page 3 
virtual1.domain.com/sort/id,asc show results sort by id asc 
virtual1.domain.com/sort/id,asc/p/3 the combination of 2 above 

對於在www.domain.com其他頁面我有實現這一

RewriteRule category/([^.]+)/sort/([^.]+)/p/([0-9]+)?$ /file.php?id=$1&sort=$2&p=$3 [L,NC,QSA] 
RewriteRule category/([^.]+)/sort/([^.]+)?$ /file.php?id=$1&sort=$2 [L,NC,QSA] 
RewriteRule category/([^.]+)/p/([0-9]+)?$ /file.php?id=$1&p=$2 [L,NC,QSA] 

但我真的不知道怎麼寫的規則而來的虛擬子域

任何幫助表示讚賞

回答

0
當規則

我總是先把事情分開。使所有請求子域映射到子域文件夾,如下所示:

RewriteBase/
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] 
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^subdomains/ 
RewriteRule ^(.*)$ /subdomains/$1 [L] 

然後在/子域/您創建一個單獨的htaccess做分頁和排序規則。

RewriteBase /subdomains 
RewriteRule ^p/([0-9]+)$ index.php?page=$1 [L,QSA] 
RewriteRule ^sort/([^/]+)(/p/([0-9]+))?$ index.php?sort=$1&page=$3 [L,QSA]