2011-03-08 88 views
0

我已經到位現有規則重寫:
subdomain.domain.com
mod_rewrite的子域/路徑重寫問題

爲此格式:
domain.com/directory/index.aspx? ID =子域

RewriteCond %{HTTP_HOST} !^www\. [NC]<br/> 
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com [NC]<br/> 
RewriteRule ^$ /directory/index.aspx?id=%1 [NC,QSA,L] 



我需要更新此支持:
subdomain.domain.com/foo

爲此格式:
domain.com/directory/foo.aspx?id=subdomain

我試着做如下修改我沒有成功現有規則:

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com/(.*) 
RewriteRule ^$ /directory/%2.aspx?id=%1 [NC,QSA,L] 

它不會出現第二的RewriteCond被匹配。我錯過了一些容易嗎?這應該以不同的方式處理?
謝謝。

回答

0

HTTP_HOST變量包含HTTP「Host:」頭中的值 - 就你而言,「subdomain.domain.com」。尾隨的URI(斜線等)不存在。

您需要的URL的一部分匹配您的規則:

RewriteCond %{HTTP_HOST} !^www\. [NC]<br/> 
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com [NC]<br/> 
RewriteRule ^/([^/]+)$ /directory/$1.aspx?id=%1 [NC,QSA,L] 

薩呂,

爾迪。