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) => {
//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',