我在 AWS S3 上托管我的静态网站,并使用 Cloudfront 作为 CDN,我想知道如何让干净的 URL 正常工作。
我目前必须转到example.com/about.html
以获取“关于”页面。我example.com/about
更喜欢在所有其他页面上访问。另外,我必须这样做,因为我的规范 URL 已使用元标记和搜索引擎设置,更改它们会有点麻烦。
Cloudfront 中是否存在我看不到的设置?
更新
我探索过两种选择。
首先是.html
在将文件上传到 S3 之前修剪文件,然后在 http 中编辑该文件的内容标头。这可能效果很好,但我不知道如何从命令行编辑内容标头,我正在命令行中编写“推送网站更新” bash 脚本。
第二种方法利用了 S3 识别根默认文件(通常是 index.html)的功能。这可能是一个好方法,但它确实扰乱了我的目录结构,并且在 URL 上留下了一个尾部斜杠,这对我来说不起作用。
Lambda@Edge?
我可以编写一个 lambda 函数来处理这个问题吗?
更新二
我基本上使用这个 bash 脚本来同步新文件
aws s3 sync site/ s3://example.com