我正在尝试配置我的 Apache 以“回答”多个域。
例子:
www.site1.com -> /var/www/site1.com/
www.siteX.com -> /var/www/siteX.com/
www.bibibi.com -> /var/www/bibibi.com/
我可以使用单个 000-default.conf(带有多个声明)吗?还是需要使用不同的 .conf 文件并使用 a2ensite 启用?
谢谢
答案1
从技术上来说,只要 Apache httpd 接受您的配置有效,您就可以做任何您想做的事情。
从专业角度来说:遵循发行版建立的惯例。这将确保其他工具(例如 certbot/letsencrypt)的行为可预测,并保护您和他人的理智。
答案2
您所说的“多个”域名是什么意思?您想要多个不同的网站还是虚拟主机?或者您希望一个虚拟主机处理您的所有域名?
如果后者只需针对该虚拟主机正确调整您的ServerName
、和选项。ServerAlias
<VirtualHost *:80>
ServerName primarydomain.example.info
ServerAlias example.com example.org example.gov
</VirtualHost>
答案3
您可以在单个文件中配置多个虚拟主机,但这是一种不好的做法。
诀窍是你需要了解文件结构的工作原理
a2ensite
此命令仅创建一个符号链接/etc/apache2/sites-enabled
以启用新站点(新站点的.conf 文件应该位于里面/etc/apache2/sites-available
)。- 当您使用多个虚拟主机时,最好在里面创建多个文件
/etc/apache2/sites-available
。这样您就可以禁用单个站点,删除符号链接,在/etc/apache2/sites-enabled
不删除配置文件的情况下找到它。