RewriteCond子域和文件夹到查询字符串

时间:2014-10-04 19:31:56

标签: regex apache .htaccess mod-rewrite

我需要做一个htaccess RewriteCond,它接受任何子域和任何子目录,并将它们重写为查询字符串。所以

http://somesub.domain.com/somefolder

变为

http://domain.com/app.php?sub=somesub&folder=somefolder

我也希望http://www.domain.com保持不变(即到index.htm)。

我已经让子域部分工作了,但无法让文件夹部分与它一起工作

这就是我对子域

的看法
RewriteCond %{HTTP_HOST} !^www\.domain.com
RewriteCond %{HTTP_HOST} ^(.+).domain.com
RewriteRule ^([^/]*)$ http://domain.com/app.php?sub=%1 [P,L]

由于

1 个答案:

答案 0 :(得分:1)

您需要使用RewriteRule中捕获的群组的反向引用:

您可以使用:

RewriteCond %{HTTP_HOST} !^www\.domain.com
RewriteCond %{HTTP_HOST} ^(.+).domain.com
RewriteRule ^([^/]+)/?$ http://domain.com/app.php?sub=%1&folder=$1 [P,L,QSA]