2011-03-08 87 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] 

萨吕,

尔迪。