如何在 aws route 53 上创建子域

How to create subdomain on aws route 53

我是 运行 EC2 实例上的 Apache。 我在路由 53 中添加了一条带有 EC2 实例 IP 的 A 记录,并使用注册商更新了名称服务器。 DNS 解析对我有用。

我在两个文件夹中有两个站点,如下所示:www/admin 和 www/client。

我想像这样为这两个站点创建两个子域:

  1. admin.example.com
  2. client.example.com

我尝试使用名称为 admin.exmaple.com 和值示例的 CNAME 记录。com/admin 不起作用。

我发现 one solution here:

这种方法的问题在于,无论我在子域中键入什么,都会被重定向到根目录。

如何在 route 53 中创建子域而不在 apache 中创建虚拟主机?

您的问题实际上与 Route 53 和 DNS 没有任何关系,一切都归结为 apache。

DNS 的作用是将域名(或子域名)路由到特定服务器(因此,example.com 和 admin.example.com)。

根据你在这里所说的:

The problem with this approach is that whatever i type in subdomain is redirected to root directory

这似乎很成功,因为您对子域发出的请求正在发送到您的服务器。

如果您只使用单一服务器,VirtualHosts 的作用是识别有人从哪个域到达您的服务器,然后相应地路由他们。

例如:

<VirtualHost *:80>
  ServerName example.com
  DocumentRoot /var/www/example.com/public
</VirtualHost>

<VirtualHost *:80>
  ServerName admin.example.com
  DocumentRoot /var/www/example.com/admin/public
</VirtualHost>

做类似的事情将提供您所追求的分离,即能够根据您的子域获得不同的页面。