перемещение моего статического сайта в новый домен, и при этом необходимо удалить последнюю косую черту с каждого 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);
};
Виновником здесь, кажется, является регулярное выражение, так как я попробовал реальный путь:
switch(path) {
case '/foo/':
response.headers.location[0].value = baseURI + '/foo';
break;
Он работал отлично и сделал переключатель. Что мне здесь не хватает?