尽管 AWS 中有虚拟主机条目(没有 Route53),子域名仍路由到主域名

尽管 AWS 中有虚拟主机条目(没有 Route53),子域名仍路由到主域名

我从 GoDaddy 购买了一个域名(例如:xyz.com)。现在我想将 a.xyz.com 、 b.xyz.com 和 xyz.com 指向 AWS ec2 实例中 apache www 文件夹内的 3 个子文件夹。

我设置了 000-default.conf 及其所有必要的虚拟主机条目,并尝试了不同的 conf 文件(每个站点名称一个,例如:a.xyz.com.conf),我还执行了 a2ensite 和 apache 重新加载。

一个针对“a”子域的示例配置。对于“b”子域,其 b 代替 a。

<VirtualHost *:80>
    ServerName a.xyz.com/
    ServerAlias www.a.xyz.com/
    DocumentRoot /var/www/html/a
    <Directory "/var/www/html/a">
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>    
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =a.xyz.com/ [OR]
    RewriteCond %{SERVER_NAME} =www.a.xyz.com/
</VirtualHost>

但所有网站都指向同一个文件夹内容(主域文件夹内的 index.html)。如果是默认的 conf 配置,它会选择第一个 Vhost 条目。在 GoDaddy 端,我将每个子域映射(A 记录)到同一个弹性 IP。

不使用 Route53我怎样才能实现同样的目标?

答案1

我认为这个问题只需要另一双眼睛。即使你想,路由 53 也无济于事——如果浏览器找到服务器,问题就不在于 DNS

ServerName 和 ServerAlias 值应该是域名 - 而不是路径。从末尾删除“/” - 我相信这样可以解决问题。

另外,这些 RewriteRules 对我来说毫无意义。也许需要删除它们?

相关内容