第一次在 serverfault 上发帖,如果发错了地方,请见谅。我有一个网站,想在 AWS CloudFront 上设置。目前配置为从 S3 提供静态 Web 内容,然后通过 CloudFront 拾取并提供。但是,我希望 rootdomain.com 的所有请求都转到 rootdomain.com/blog - 并且该域的其余请求都按正常方式处理。
从我目前的谷歌搜索来看,这似乎是我可以使用 lambda@edge 实现的。然而,到目前为止,我所有的尝试都没有成功。
我该如何配置 lambda/cf/s3 来实现上面所述的内容?
如果我遗漏了什么,请原谅,提前表示感谢。
答案1
如果您只想/
重定向到,/blog
您可以执行简单的index.html
基于重定向。Lambda@Edge是一种非常强大的机制,但对于您的用例来说却有点过度了。
要使用index.html
重定向,请执行以下操作:
配置 S3 存储桶用于网站托管,这还将确保对 的请求
/
将提供 的内容/index.html
。创建并上传
/index.html
文件内容如下:<html> <head> <title>Redirect to /blog</title> <meta http-equiv="refresh" content="0; url=/blog" /> </head> <body> </body> </html>
现在每次向浏览器发出请求时http://rootdomain.com/
都会收到上述 HTML 文件并按照刷新/重定向到http://rootdomain.com/blog
。
希望有帮助:)