Apache(httpd)虚拟主机配置

Apache(httpd)虚拟主机配置

我正在尝试在本地 Web 服务器上配置虚拟主机。我想要的是,当我转到本地主机或服务器 IP 时,我希望看到默认的 centos 页面,当我转到在 /etc/hosts 中配置的其他网站时,我希望看到那些网站。

这是此设置的正确配置吗?它没有按我想要的方式工作……因为现在所有网站都转到默认的 centos 页面,这不是我想要的。

NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html/
    ServerName localhost
</VirtualHost>


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

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

答案1

将其添加到您的虚拟主机的 ServerName web1.com 下方:

ServerAlias *.web1.com

这是对您问题中的评论的回答,您应该编辑该问题以将该问题放入其中。

答案2

如果您在 Ubuntu 服务器中配置 Apache,请转到文件/etc/apache2/sites-available/000-default.conf并添加以下行:

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

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

并在主机文件()中添加以下几行/etc/hosts

127.0.1.1    web1.com
127.0.1.2    web2.com

相关内容