如何将 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 上的另一个子域?
使用 Route53 和 CloudFront 和 S3 将顶点域重定向到另一个域的子域