Apache多个具有相同ServerName,相同IP和端口但具有不同DocumentRoot的VirtualHost,可能吗?

时间:2018-10-15 15:10:14

标签: apache virtualhost httpd.conf

除了其业务目的之外,我的Web应用程序还具有管理页面(例如myapp.com/admin/index.php)和其他内容(例如myapp.com/other/index.php)。

这些页面并不需要一直都可用,我们可以说它们是在Apache启动10分钟后“关闭”的。

我不能使用其他ServerName,也不能为这些VirtualHost使用不同的IP和端口。我不想使用任何怪异的解决方法,例如将index.php文件移动到其他地方,而且我也不能使用.htaccess。我需要使用 a2ensite a2dissite

编辑:我的Web应用程序仅使用HTTPS。

有可能吗?

1 个答案:

答案 0 :(得分:0)

不,不是,因为apache如何确定请求的VirtualHost

documentation所说的(强调我的意思):

  

如果请求包含Host:标头字段,则搜索列表   具有匹配的ServerName或ServerAlias的第一个虚拟主机,以及   来自该虚拟主机的请求。

如果您尝试这样做,则会收到以下警告:

[warn] VirtualHost overlap on port 443, the first has precedence