From bf4a605ad14a79b9e4e935ded0e0b0773adc739f Mon Sep 17 00:00:00 2001 From: David Karlsson <35727626+dvdksn@users.noreply.github.com> Date: Thu, 24 Aug 2023 09:36:55 +0200 Subject: [PATCH] fix: handle trailing slash mismatch for redirects Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com> --- _releaser/cloudfront-lambda-redirects.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/_releaser/cloudfront-lambda-redirects.js b/_releaser/cloudfront-lambda-redirects.js index de8c59d343..e599655920 100644 --- a/_releaser/cloudfront-lambda-redirects.js +++ b/_releaser/cloudfront-lambda-redirects.js @@ -3,13 +3,15 @@ exports.handler = (event, context, callback) => { //console.log("event", JSON.stringify(event)); const request = event.Records[0].cf.request; + const requestUrl = request.uri.replace(/\/$/, "") const redirects = JSON.parse(`{{.RedirectsJSON}}`); for (let key in redirects) { - if (key !== request.uri) { + const redirectTarget = key.replace(/\/$/, "") + if (redirectTarget !== requestUrl) { continue; } - //console.log(`redirect: ${request.uri} to ${redirects[key]}`); + //console.log(`redirect: ${requestUrl} to ${redirects[key]}`); const response = { status: '301', statusDescription: 'Moved Permanently',