Mod rewrite Mod_重写通配符子域。关于不那么简单的重写规则的简单问题
基本上,我正在尝试这样做: subdomain.domain.com->domain.com/account?user=subdomain 到目前为止还不错。我发现这段代码可以做到这一点,而且非常完美: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 ^(.
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
你的新规则应该做什么?也许你只需要把它放在另一个地方(因为规则的顺序很重要)?。我相信即使是现有的规则也可以简化。