【发布时间】:2011-10-07 22:57:29
【问题描述】:
基本上我正在尝试这样做:
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]
知道发生了什么以及如何纠正它吗?
谢谢 卡塔林
【问题讨论】:
-
你的新规则应该做什么?也许您只需要将它放在另一个地方(因为规则的顺序很重要)?我相信即使是现有的规则也可以简化。
标签: mod-rewrite wildcard subdomain