【发布时间】:2010-01-11 06:01:40
【问题描述】:
我正在迁移我的应用程序,该应用程序为每个用户提供一个子站点,从 domain.com/~user 到 user.domain.com。为了做到这一点,我写了以下RewriteRule:
RewriteRule ^~([a-z_]+)(/.*)?$ http://$1.%{HTTP_HOST}$2 [R=301,QSA,NC]
但是,%{HTTP_HOST} 并不能完全满足我的需要,因为例如,如果用户浏览到 www.domain.com/~user,它将重定向到 user.www.domain.com,这显然不是我想要的。
我知道我可以将%{HTTP_HOST} 替换为硬编码域,但我也不想这样做,因为我将在多个域上推出更改并且不想为每一个。有没有更好的方法可以在不进行硬编码的情况下进行单一更改? (此外,如果基础域已经有一个子域怎么办——即sub.domain.com/~user -> user.sub.domain.com)
【问题讨论】:
标签: mod-rewrite subdomain