Apache - 重写动态子域和URL参数

时间:2013-01-01 13:49:33

标签: php apache mod-rewrite url-rewriting

我在Apache2中遇到重写条件和规则的问题。 我想拥有动态子域和动态文件夹,它们将重写为php脚本。 例如:

sub1.example.com/folder1  => do.php?a=sub1&b=folder1
sub2.example.com/folder2  => do.php?a=sub1&b=folder2

看起来每个子域都有自己的文件夹。但是一些子域名(admin等)不会被重写。

我知道如何重写子域名:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(^.*)\.example.com/ [NC]
RewriteRule ^(.*)$ do.php?a=%1 [L,P]

但我不知道,如何在子域中执行动态文件夹。

非常感谢

1 个答案:

答案 0 :(得分:0)

也许这个例子可以帮到你:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9]+)\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/?do\.php$
RewriteRule .? do.php?url=%1&path=%{REQUEST_URI} [L,QSA]