Apache 虚拟主机(Ubuntu)指向错误的文档根目录

Apache 虚拟主机(Ubuntu)指向错误的文档根目录

我正在尝试设置一个具有多个虚拟主机(www.domain.com 和 store.domain.com)的 Apache 服务器,但出于某种原因,当我只启用其中一个(store.domain.com)时,Apache 会重定向到错误的文档根目录(/var/www),而这显然是默认的。这是未正确重定向的虚拟主机配置文件:

<VirtualHost *:80>
     ServerName store.domain.com
     ServerAdmin [email protected]
     DocumentRoot /var/www/store/public_html/
     ErrorLog /var/www/store/logs/error.log
     CustomLog /var/www/store/logs/access.log combined
</VirtualHost>

当我运行命令时apache2ctl -S我得到以下信息:

Name or service not known: AH00547: Could not resolve host name *80 --ignoring!
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, 
using xxx.xxx.xxx.xxx. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/var/log/apache2/error.log
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
.... 

看起来关键点就在前一个错误的第一行,但我不明白哪里出了问题。

当我启用以下虚拟主机时,它可以正常工作:

<VirtualHost *:80>
     ServerAdmin [email protected]
     ServerName www.domain.com
     DocumentRoot /var/www/html/www/public_html/
     ErrorLog /var/www/html/www/logs/error.log
     CustomLog /var/www/html/www/logs/access.log combined
</VirtualHost>

启用最后一个虚拟主机后,store.domain.com 会重定向到 www.domain.com

有什么建议吗?如果您需要任何其他信息,请告诉我。

答案1

Apache 服务器别名

尝试除了 ServerName 之外还添加 ServerAlias。

答案2

名称或服务未知:AH00547:无法解析主机名*80

检查您的配置以查找*80

相关内容