#amazon-web-services #amazon-s3 #aws-lambda #amazon-cloudfront
Вопрос:
У меня есть корзина s3 с подпапкой, и мне нужно изменить URL пользователя на конкретную подпапку:
cloudfront.net/test/x =gt; access subfolder /login/ of s3. cloudfront.net/test/a/b =gt; access subfolder /account/ of s3.
Я попытался изменить uri запроса, но он изменил URL пользователя.
Я попытался изменить путь, но исходный результат: путь uri:
exports.handler = (event, context, callback) =gt; { const request = event.Records[0].cf.request; const url = request.uri; let finalPath = request.origin.custom.path const regex = url.match(//[a-z-1-9.]*.[a-z] /) const a = regex ? regex[0] : '' if(url.indexOf('a/b') !== -1){ finalPath = '/account' a } else if(url.indexOf('a') !== -1){ finalPath = '/settings' a } else if(url.indexOf('x') !== -1){ finalPath = '/login' a } request.origin.custom.path = finalPath callback(null, request); };
И в результате:
404 Not Found Code: NoSuchKey Message: The specified key does not exist. Key: login/autenticacao/index.html RequestId: xxx HostId: xxx