如何将 Route 53 子域重定向到您网站的子目录

Posted

技术标签:

【中文标题】如何将 Route 53 子域重定向到您网站的子目录【英文标题】:How to Redirect Route 53 subdomain to subdirectory of your website 【发布时间】:2017-09-20 21:26:02 【问题描述】:

我在 Godaddy 上有一个域,并使用亚马逊 Route 53 托管。我想创建一个子域并使其指向我网站中的子目录。怎么可能?

我试过了

使用 S3 存储桶,但 s3 设置说托管静态站点。我的网站不是静态的,所以我认为该选项不起作用 借助本文,我在 53 号路由上添加了一个子域 How do I create a subdomain for a domain hosted through Route 53? 然后使用此答案更改我的服务器设置以使新域指向子目录 How to point domain name to Amazon EC2 subdirectory。但它没有用。网页显示未找到 DNS 服务器

任何形式的帮助都会得到认可。提前致谢。

【问题讨论】:

【参考方案1】:

DNS 将域名解析为服务器的 IP 地址。它只解析定义服务器的 URL 的第一部分——它不涉及 URL 的其余部分。

例如:

http://example.com/path/index.html

DNS 将example.com 转换为服务器的IP 地址。然后将/path/index.html 的请求发送到该服务器的端口 80。

因此,无法将 Amazon Route 53(或任何 DNS 服务器)配置为指向您网站的子域。

不过,您可以将网络服务器配置为识别发往不同域名的请求,并向用户提供不同的内容。例如:

http://images.example.com/foo.jpg

DNS 会将 images.example.com 解析为相同的 IP 地址,但 Web 服务器可以注意到原始请求是发往 images.example.com,因此它应该提供一组不同的内容,或来自所需子目录的内容。此配置将在您的 Web 服务器中完成。如果您想这样做,请查阅您的网络服务器文档或在网络上搜索该主题。

【讨论】:

我明白了。如何让我的 Route 53 识别子域? 其实我尝试的第二点正是你所解释的。在 Route 53 中创建一个子域,然后编辑您的服务器以重定向它。问题出在我的实施中,这就是我需要帮助的地方【参考方案2】:

我遇到了同样的问题。 解决方案是我将负载均衡器(Application Load Balancer)设置为 sub.mydomain.com 的目标,然后在负载均衡器侦听器规则中,添加带有重定向的子域规则(作为主机标头值)。

【讨论】:

以上是关于如何将 Route 53 子域重定向到您网站的子目录的主要内容,如果未能解决你的问题,请参考以下文章

将 www 子域重定向到 Route 53 上的顶点(裸)域(不使用 S3)?

如何将对子域的请求重定向到 Route 53 上的另一个子域?

Heroku 使用 AWS Route 53 重定向子域

使用 Route53 和 CloudFront 和 S3 将顶点域重定向到另一个域的子域

以兼容 HSTS 的方式将 dev 子域重定向到 dev 子目录

使用 .htaccess 将所有子域和子目录重定向到索引页面