【问题标题】:How to change subdirectory to a subdomain in Apache2?如何将子目录更改为 Apache2 中的子域?
【发布时间】:2019-04-21 12:42:21
【问题描述】:
假设我有一个网站abc.com,其中包含子目录x、y 和z。所以网站网址就像,
abc.com/x/
abc.com/y/
abc.com/z/
现在假设每个子目录都有 3 个子域,如下所示。
x.abc.com
y.abc.com
z.abc.com
现在我想将abc.com/x/ 之类的请求重定向到x.abc.com。而且我有很多目录,我无法为每个目录添加规则。
【问题讨论】:
标签:
redirect
mod-rewrite
apache2
【解决方案1】:
您可以使用dynamically configured mass virtual hosting(属于 mod_vhost_alias 模块)。您需要 DNS 服务器中的通配符条目进行解析。对于 www.x.com.com 和 /home/x/www 上的内容:
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteCond %{lowercase:%{HTTP_HOST}} ^www\.([^.]+)\.abc\.com$
RewriteRule ^(.*) /home/%1/www$1