为 Apache 虚拟主机设置多个域时出错

Posted

技术标签:

【中文标题】为 Apache 虚拟主机设置多个域时出错【英文标题】:Error setting several domains for Apache Virtual Host 【发布时间】:2021-12-29 16:18:02 【问题描述】:

我已经为多个域创建了一个 Apache 虚拟主机。我用

创建了 domain.conf 文件
  ServerName www.hrvendurance.com
  ServerAlias hrvendurance.com
  ServerAdmin info@hrvendurance.com
  DocumentRoot /var/www/html/hrvendurance.com

我已经复制了 Google Domains 上的 DNS 名称,检查了 IP 并更新了 SSL,但是当我访问我的域 hrvendurance.com 时,我得到了这个:

我还错过了什么?

非常感谢, 米格尔·吉斯伯特

【问题讨论】:

您是否在 /var/www/html/hrvendurance.com 中设置了一些内容?还要指定一个DirectoryIndex,这样 Apache 就知道默认采用哪个文件来回答“/”请求。 我在 /var/www/html/hrvendurance.com 中有一个 wordpress 安装,在 /var/www/html/miguelgisbert.com 和 /var/www/html 中有两个简单的 index.html /rocaynieve.com 什么是 DirectoryIndex? 目录索引:httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryindex 【参考方案1】:

你需要在你的 apache 配置文件中为每个域设置一个单独的文档根目录,像这样..

# Ensure that Apache listens on ports
Listen 80

<VirtualHost *:80>
    DocumentRoot "/www/example1"
    ServerName www.example.com

    # Other directives here
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/www/example2"
    ServerName www.example.org

    # Other directives here
</VirtualHost>

【讨论】:

您好 MikeMoy,非常感谢您的回答。我猜你的意思是 /etc/apache2/apache2.conf 文件。我已经添加了您提到的将示例更改为我的域名的虚拟主机行,它也在做同样的事情。我意识到对于 miguelgisbert.com 域它正在工作,它显示了文件夹中的 index.html 文件。但是对于 hrvendurance.com,它显示的是 /var/www/html/index.html 而不是进入 hrvendurance.com 文件夹。我能错过什么?非常感谢! 你为 hrvendurance.com 设置了什么文档根目录? 什么意思?什么是文档根目录?现在发生的事情很奇怪:直接访问IP你会发现hrvendurance网站有内容错误。访问 hrvendurance.com 就像访问根目录一样,我可以访问 hrvedurance.com/phpmyadmin 或 hrvendurance.com/miguelgisbert.com,它们是分配在同一文件夹中的文件夹 (/var/www/hrml) 非常感谢!

以上是关于为 Apache 虚拟主机设置多个域时出错的主要内容,如果未能解决你的问题,请参考以下文章

使用 Apache 的 VPS 上的多个域

启动域时出错:所需操作无效:网络default未激活

Apache 动态虚拟主机 - 403 Forbidden

Apache 创建虚拟主机目录和设置默认访问页面

在 Windows 上设置 Apache 虚拟主机

.apache2 设置多个虚拟域名