fix: handle trailing slash mismatch for redirects

Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
This commit is contained in:
David Karlsson 2023-08-24 09:36:55 +02:00
parent 1b8a23cfdd
commit bf4a605ad1
1 changed files with 4 additions and 2 deletions

View File

@ -3,13 +3,15 @@
exports.handler = (event, context, callback) => { exports.handler = (event, context, callback) => {
//console.log("event", JSON.stringify(event)); //console.log("event", JSON.stringify(event));
const request = event.Records[0].cf.request; const request = event.Records[0].cf.request;
const requestUrl = request.uri.replace(/\/$/, "")
const redirects = JSON.parse(`{{.RedirectsJSON}}`); const redirects = JSON.parse(`{{.RedirectsJSON}}`);
for (let key in redirects) { for (let key in redirects) {
if (key !== request.uri) { const redirectTarget = key.replace(/\/$/, "")
if (redirectTarget !== requestUrl) {
continue; continue;
} }
//console.log(`redirect: ${request.uri} to ${redirects[key]}`); //console.log(`redirect: ${requestUrl} to ${redirects[key]}`);
const response = { const response = {
status: '301', status: '301',
statusDescription: 'Moved Permanently', statusDescription: 'Moved Permanently',