【问题标题】:multiple domains to one virtual server via port 80多个域通过端口 80 连接到一台虚拟服务器
【发布时间】:2015-02-28 15:15:21
【问题描述】:

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

我有 3 个域和一台服务器。我想通过右侧 DirectoryRoot 上的端口 80 获取所有 3 个域。但我无法做到这一点。使用我当前的可用站点/默认文件,它们都链接到同一个目录 (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

【问题讨论】:

    标签: apache apache2 server multiple-domains


    【解决方案1】:

    您应该执行以下操作:

    • 通过运行以下命令禁用默认站点:

    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 重启

    【讨论】:

      【解决方案2】:

      你必须使用虚拟主机这里是教程。

      vhost

      试试这个

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

      【讨论】:

      • 嗨,丹尼斯,感谢您的回答。不幸的是,我无法让它工作。我改编了教程“在单个 IP 地址上运行多个基于名称的网站”。 domain2 正在工作,其余的都指向 /var/www/domain1 - 我能做些什么来确保一切都正确重新加载(或者它只是重新启动 apache?)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-18
      • 1970-01-01
      • 2011-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多