【问题标题】:Using Apache VirtualHosts to serve multiple subdomains from same global ip address使用 Apache VirtualHosts 为来自同一全局 IP 地址的多个子域提供服务
【发布时间】:2015-01-17 22:29:44
【问题描述】:

我有一个域myexample.com,我希望有多个子域,使用相同的 IP 地址。我想使用 Apache VirtualHosts 而不向客户端显示正在发生重定向。这是我想要的规则: www.myexample.com gets content from the /var/www folder www1.myexample.com gets content from the /var/www1 folder www2.myexample.com gets content from the /var/www2 folder 这里的问题是这三个必须在同一台计算机上运行在端口 80 上,我不想使用 301 重定向,因为这样客户端就可以看到正在发生的事情。如何配置 VirtualHosts 来做到这一点?我不知道如何使用 mod_rewrite。我正在使用 Apache2 运行 Ubuntu 14.04。

谢谢!

【问题讨论】:

    标签: apache apache2 subdomain virtualhost


    【解决方案1】:

    要添加虚拟主机,建议将每个虚拟主机写入单独的文件,或将特定用户的所有虚拟主机写入一个文件。这提高了服务器的可管理性,当您想更改 1 个域的特定设置时,您可以轻松找到要编辑的文件。

    /etc/apache2 中编辑apache2.conf 文件时,文件底部应该有一行显示include sites-enabled/。如果没有,请添加它。

    然后在sites-enabled 文件夹中为您的域或用户创建一个新文件。为了便于编辑,我会使用 nano <filename>.conf 来打开编辑器并设置文件名和扩展名。

    在文件中插入以下code

    <VirtualHost 0.0.0.0:80>
        ServerName www1.example.com
        ServerAdmin admin@www1.example.com
        DocumentRoot /var/www1
    </VirtualHost>
    

    要在同一个 IP 上获取所有内容,您可以输入 *:80 代替 0.0.0.0 以侦听系统上的所有 IP,或者输入服务器具有的特定公共 IP 地址以增强安全性。

    此外,如果您想设置特定的 PHP 值或如果您想将日志文件移动到不同的文件使用,则可能需要其他指令:

    CustomLog custompath/domainname.log
    ErrorLog custompath/domainname.error.log
    

    希望能解决您的问题

    【讨论】:

      猜你喜欢
      • 2012-11-30
      • 2017-05-22
      • 2023-03-27
      • 2013-07-02
      • 2016-04-28
      • 1970-01-01
      • 2014-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多