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。

文檔鏈接應該有所幫助。

相關問題