0

我有一个使用S3的静态SPA页面,因为它是CloudFront的原点。如果我访问www.domain.com/page,我将获得预期为bucket-directory/prod/page/的CloudFront路径。CloudFront将Lambda重定向请求添加到尾部斜杠

是否有可能捕获AWS LAMBDA路径和最后的斜线追加到的请求,所以它成为,www.domain.com/page>为λ> www.domain.com/page/

我一直在寻找和尝试以下资源收效甚微: http://blog.rowanudell.com/redirects-in-serverless/

http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html

回答

0

你可以做到这一点通过两种方式。

在CloudFront模式中,您可以检查bucket-directory/prod/page并使用lambda重定向到bucket-directory/prod/page /。

你也需要确保的模式是按以下顺序, 斗目录/生产/ <页 - 这将得到拉姆达执行重定向 斗目录/生产/页/

页面将基于你的命名约定的正则表达式。

或者您可以编写一个Lambda函数,该函数可以接受url并修改url以附加一个斜杠(如果它不存在并将请求转发给原点)。

http://docs.aws.amazon.com/lambda/latest/dg/lambda-edge.html

LAMBDA边缘将使它更容易,避免了重定向。

使用Lambdda Edge,您可以从bucket-directory/prod/page更改为bucket-directory/something/someotherpage。

文档链接应该有所帮助。

相关问题