перемещая мой сайт c на новый домен, и при этом необходимо удалить последний пункт sh из каждого URL-адреса сайта и отправить ответ 301 с помощью функции Lambda. Вот как это должно выглядеть:
oldsite.com / any-page / будет newsite.com / any-page
Я нашел пример кода, который поможет мне изменить домен, но теперь каждая страница на старом сайте будет указывать на домашнюю страницу нового сайта, игнорируя функцию пути изменения.
Это код, который я сейчас использую, что-то не так для переключателя пути:
'use strict';
exports.handler = (event, context, callback) => {
/*
* Generate HTTP redirect response with 301 status code and Location header.
*/
const request = event.Records[0].cf.request;
// get the original URL path
const path = request.uri
const baseURI = 'https://newsite.com'
// construct the response
const response = {
status: '301',
statusDescription: 'Found',
headers: {
location: [{
key: 'Location',
value: baseURI,
}],
},
};
// Configure the URL redirects
switch(path) {
case /\/.*\//:
response.headers.location[0].value = baseURI + /\/.*/;
break;
default:
response.headers.location[0].value = baseURI;
}
callback(null, response);
};
Кажется, что виновником здесь является Regex с тех пор, как я попробовал фактический путь:
switch(path) {
case '/foo/':
response.headers.location[0].value = baseURI + '/foo';
break;
Работало отлично и сделал выключатель. Что мне здесь не хватает?