【发布时间】:2015-06-04 16:02:16
【问题描述】:
正如 Apache 在Using Name-based Virtual Hosts 下记录的:
如果未找到匹配的虚拟主机,则将使用列出的第一个虚拟主机与 IP 地址匹配。
因此,第一个列出的虚拟主机是默认虚拟主机。
目前,/var/cpanel/templates/apache2_4/main.default 的模板使用DocumentRoot [% serverroot %]/htdocs 生成这样一个默认的 VirtualHost(每个 IP 地址)。
我们希望为特定用户生成的VirtualHost 是默认值。完成此任务的最佳/推荐方式是什么?
我目前的想法是将用户的(编译的)VirtualHost 指令放在/usr/local/apache/conf/includes/pre_virtualhost_2.conf 中,但这显然不会由 WHM 管理,如果用户的配置发生变化。
有没有更好的办法?
【问题讨论】:
-
我刚刚尝试了
ServerAlias *并残酷地发现该指令匹配真的任何东西,包括以前声明的虚拟主机。有那么一瞬间,我以为它起作用了! -
“我们希望为特定用户生成的 VirtualHost 成为默认值”。请求如何链接到“用户”?所以你说你有来自没有虚拟主机的 URL 域的 HTTP 请求,并且你希望它们被路由到特定用户?所以你必须有 IP 地址的用户 1to1 吗?否则没有意义。
-
@S.Pinkus:怎么没有意义?我希望所有 Web 请求,无论主机名如何(除非被更具体的规则覆盖),都被路由到特定用户。对我来说似乎很简单!事实上,这正是 Apache 文档中的引用所描述的。
-
我对“特定用户”的含义感到困惑。
-
我认为这是题外话,因为它与服务器管理有关,与编程完全无关。
标签: apache cpanel virtualhost whm