Я размещаю свой статический веб-сайт на AWS S3 с Cloudfront в качестве CDN, и мне интересно, как я могу заставить работать чистые URL-адреса.
Мне сейчас нужно пойти в example.com/about.html
чтобы получить информацию о странице. я бы предпочел example.com/about
а также на всех остальных моих страницах. Кроме того, я как бы должен это сделать, потому что мои канонические URL-адреса были установлены с метатегами и поисковыми системами, и будет немного сложно их изменить.
Есть ли в Cloudfront параметр, который я не вижу?
Я изучил два варианта.
Сначала обрезка .html
отключите файл перед загрузкой на S3, а затем отредактируйте заголовок содержимого в http для этого файла. Это могло бы работать прекрасно, но я не могу понять, как редактировать заголовки контента из командной строки, где я пишу свой bash-скрипт «push-обновление веб-сайта».
Второй подход использует функцию S3, которая распознает корневые файлы по умолчанию, обычно index.html. Может быть, это отличный подход, но он действительно портит мою структуру каталогов и оставляет в конце URL-адреса косую черту, которая мне не подходит.
Могу я написать лямбда-функцию, чтобы справиться с этим?
Я использую этот сценарий bash для синхронизации новых файлов
aws s3 sync site/ s3://example.com