我有 3 个网站在一台服务器(一个 IP)上运行,每个网站都有多个子域。httpd.conf 文件相当大,每个子域都有多个 VirtualHost 标签。我不想每次添加新网站或新子域时都添加到 httpd.conf,而是希望动态配置它。以下是布局...
该站点位于
/var/www/html/[ownername]/[domain]/[subdomain]
所以我希望“sub.domain.com”指向
/var/www/html/theowner/domain.com/sub
我想要 this.otherdomain.org 指向
/var/www/html/someowner/otherdomain.org/this
我如何在 httpd.conf 文件中实现这一点?谢谢。
答案1
如果你不想根据网站所有者创建目录结构,那么你可以使用 Apache2 轻松实现这一点虚拟主机别名模块。我以前用过这个。为了像你在问题中描述的那样以另一个为基础,你需要做一些花哨的事情mod_rewrite写作但它可能不会完全动态并且需要配置才能激活。
答案2
听起来像是 mod_vhost_alias 的工作:
答案3
apache2 中包含各种选项海量虚拟主机文档。对于您的情况,mod_rewrite
解决方案可能适合您。
答案4
实现此目的的另一种方法是使用 puppet 之类的工具来管理文件夹结构以及 vhost 文件。您可以轻松编写甚至找到 vhost 模块来实现此目的。然后使用 conf.d 目录来保存所有 vhost 文件。