多个域通过端口 80 到一个虚拟服务器

multiple domains to one virtual server via port 80

我不明白,希望您能提供帮助。

我有 3 个域和一台服务器。我想通过正确的 DirectoryRoot 上的端口 80 获取所有 3 个域。但我无法做到这一点。对于我当前的 sites-available/default 文件,它们都链接到同一目录 (domain3)。

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    ServerName www.domain1.tld
    ServerAlias *.domain1.tld
    DocumentRoot /var/www/domains/domain1/
    <Directory /var/www/domains/domain1/>
        Options -Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>    

    ServerName www.domain2.tld
    ServerAlias *.domain2.tld
    DocumentRoot /var/www/domains/domain2/
    <Directory /var/www/domains/domain2>
        Options -Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>    

    ServerName www.domain3.tld
    ServerAlias *.domain3.tld
    DocumentRoot /var/www/domains/domain3/
    <Directory /var/www/domains/domain3>
        Options -Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>    

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

You Must Use virtual Hosts 这里是教程。

vhost

试试这个

<VirtualHost *:80>
    DocumentRoot /var/www/domains/domain1/
    ServerName www.domain2.tld
    ServerAlias *.domain2.tld
</VirtualHost>

您应该执行以下操作:

  • 通过 运行 这个命令禁用默认站点:

rm /etc/apache2/sites-enabled/default

  • 然后,在您的 /etc/apache2/sites-available 目录中,您应该为您的 3 个虚拟主机创建 3 个文件:

001-域 1

<VirtualHost *:80>
ServerName www.domain1.tld
DocumentRoot /var/www/domains/domain1
</VirtualHost>

002-域 2

<VirtualHost *:80>
ServerName www.domain2.tld
DocumentRoot /var/www/domains/domain2
</VirtualHost>

003-域 3

<VirtualHost *:80>
ServerName www.domain3.tld
DocumentRoot /var/www/domains/domain3
</VirtualHost>
  • 现在,您所要做的就是启用 3 个虚拟主机并重新启动 apache。 运行 从您的站点可用目录执行以下命令:

a2ensite 001-domain1

a2ensite 002-domain2

a2ensite 003-domain3

/etc/init.d/apache2 restart