Mod rewrite Mod_重写通配符子域。关于不那么简单的重写规则的简单问题

Mod rewrite Mod_重写通配符子域。关于不那么简单的重写规则的简单问题,mod-rewrite,wildcard,subdomain,Mod Rewrite,Wildcard,Subdomain,基本上,我正在尝试这样做: subdomain.domain.com->domain.com/account?user=subdomain 到目前为止还不错。我发现这段代码可以做到这一点,而且非常完美: RewriteCond %{HTTP_HOST} !^domain\.com [NC] RewriteCond %{ENV:REDIRECT_SUBDOMAIN} ="" RewriteCond %{HTTP_HOST} ([^.]+)\.domain\.com$ RewriteRule ^(.

基本上,我正在尝试这样做:

subdomain.domain.com->domain.com/account?user=subdomain

到目前为止还不错。我发现这段代码可以做到这一点,而且非常完美:

RewriteCond %{HTTP_HOST} !^domain\.com [NC]
RewriteCond %{ENV:REDIRECT_SUBDOMAIN} =""
RewriteCond %{HTTP_HOST} ([^.]+)\.domain\.com$
RewriteRule ^(.*)$ account.php?user=%1 [E=SUBDOMAIN:%1,L]
RewriteRule ^ - [E=SUBDOMAIN:%{ENV:REDIRECT_SUBDOMAIN},L]
现在,我尝试向它添加一个更简单的规则(用*标记)。加上这条新规则,一切都会分崩离析。什么都不管用了

RewriteCond %{HTTP_HOST} !^domain\.com [NC]
RewriteCond %{ENV:REDIRECT_SUBDOMAIN} =""
RewriteCond %{HTTP_HOST} ([^.]+)\.domain\.com$
* RewriteRule ^/somepage http://domain.com/anotherpage [E=SUBDOMAIN:%1,L]
RewriteRule ^(.*)$ account.php?user=%1 [E=SUBDOMAIN:%1,L]
RewriteRule ^ - [E=SUBDOMAIN:%{ENV:REDIRECT_SUBDOMAIN},L]
你知道发生了什么事以及如何纠正吗

多谢各位
Catalin

重写规则受当前一组重写条件的约束

因此,您必须这样做:

RewriteCond
RewriteCond
RewriteRule


RewriteCond
RewriteCond
RewriteRule

你的新规则应该做什么?也许你只需要把它放在另一个地方(因为规则的顺序很重要)?。我相信即使是现有的规则也可以简化。