子域名设置在 Amazon EC2 上不适用于 Apache 2.2.26

子域名设置在 Amazon EC2 上不适用于 Apache 2.2.26

我尝试为我的网站 example.com 设置子域名。它似乎无法解析到正确的目录。

以下是我的设置 主域:example.com 子域:subdomain.example.com

DNS 记录:我在 Amazon Route 53 中有一个针对 subdomain.example.com 的 A 记录,指向主域的 IP 地址。

在位于 /etc/httpd/conf/ 的 httpd.conf 中,我做了以下更改

NameVirtualHost *:80

<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerName subdomain.example.com
DocumentRoot /var/www/subdomain
<Directory /var/www/subdomain>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>

现在,当我访问 subdomain.example.com 时,浏览器会从 /var/www/html 返回 index.html 文件。我是不是漏掉了什么?理想情况下,它需要从 /var/www/subdomain 返回 index.html 文件。

谢谢你!

更新 1

我刚刚检查了 subdomain.example.com/index.html - 它返回了正确的页面。我需要做什么才能让 subdomain.example.com 解析相同的页面。

答案1

您需要为您的子域名设置一个 DirectoryIndex

DirectoryIndex index.html

默认的 DirectoryIndex 可能设置为其他值,在 Amazon Linux AMI 上,当 Apache 找不到索引文件时,404 错误处理程序会将您引导到 /var/www/html 中的 index.html 文件。

您将能够在 /etc/httpd/conf.d/ 中的 welcome.conf 文件中看到它

相关内容