子文件夹的mod_rewrite表达式?

时间:2011-05-24 07:37:50

标签: mod-rewrite

我打开了通配符子域,并在我的根目录中重写以捕获子域和文件夹:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !www.mysite.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.mysite\.com$ [NC]
RewriteRule ^(.*)$ process.php?id=%2
RewriteRule ^([^/.]+)/?$ process.php?id=%2/$1 [L]

如果没有请求的子文件夹,则倒数第二行应该将我们带到process.php?id = subdomain。最后一行应该带我们去process.php?id = subdomain / subfolder /如果确实有一个子文件夹请求(如subdomain.mysite.com/subfolder /)。

这些都是独立的,但它们一起起作用。如果没有指定子文件夹,我只想让它使用第一个,如果没有,则只想使用最后一个。我怀疑他们需要与正则表达式相结合,但我对如何表达这一点感到很黑暗?

1 个答案:

答案 0 :(得分:0)

交换最后2行的顺序。第二行到最后一行可能变得贪婪并匹配两种情况......