我对 Ubuntu 18.04 上的 Apache2 感到很困惑。
我有几个指向 Vhosts 的域名,它们似乎可以工作,但由于某些原因,当直接浏览 IP 时,如果只是转发到其中一个 vhost,而不是 /var/www/html 目录的根目录。这是怎么回事?这在 Centos 上有效,但在 Ubuntu 上无效。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<IfModule mod_dir.c>
DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
</IfModule>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName domain.com
ServerAlias domain.com
DocumentRoot /var/www/html/domain.com/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
答案1
您在启用的站点中是否有 000-default.conf ?如果没有,也许可以创建它并将第一个虚拟移入其中:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<IfModule mod_dir.c>
DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
</IfModule>
现在为每个其他虚拟域创建一个 .conf,其中包含 10-this-domain 和 20-that-domain 等升序文件
在你的 apache2.conf 中你应该有这一行
IncludeOptional sites-enabled/*.conf
目录 sites-enabled 保存虚拟机的所有主机文件
在我的 Ubuntu 上开箱即用,我只需将新主机放入启用站点的