我尝试为我的网站 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 文件中看到它