繁体   English   中英

静态网站AWS S3上的多个页面

[英]Multiple Pages on a Static Website AWS S3

我正在使用AWS S3托管一个静态网站(为了方便,易用,因为它太便宜了)。

当我有多个HTML文档时。 我可以使用/name_of_file.html导航到它们。 有没有办法路由HTML文件,所以URL改为/name_of_file 我不喜欢我的URL中有.html扩展名的丑陋,我宁愿避免做单页网站。

谢谢

只要您将Content-type标头设置为text/html的文件上传,如果您在上传它们时只删除了.html扩展名,页面就可以正常工作。

否则,想到的唯一选择是使用S3重定向 ,但这只允许您“导航到”最终没有.html的页面 - 但您随后会看到浏览器重定向到.html-命名文件和.html仍将显示在地址栏中,因此可能不是赢家。

或者 - 这是相当长的一段时间,但也许值得一提 - 您可以通过运行HAProxy或其他反向代理服务器的EC2实例汇总请求,并重写(不重定向)不包含点的请求以附加'.html'到最后,但是这种方式还有“易用性”方面 - 虽然它可以允许你承载比每个帐户限制100个桶更多的网站,如果你需要,通过保留多个“网站”单个存储桶并为每个请求的对象路径附加前缀。 在同一AWS区域内的EC2和S3之间的数据传输是免费的,因此这不会产生额外的带宽费用 - 只是实例本身的成本。


更新(来自评论):

由于选择Content-Type作为元数据Key,因此AWS控制台可能略微违反直觉,然后仅建议一些选择,包括text / plain和text / rtf但不是text / html ...但是“Value”下拉列表只是提供建议。 在这里,任何半懂事都将被接受。

  • (在桶中)选择操作→上传
  • 点击“添加文件”
  • 在对话框中选择要上载的文件
  • 单击“设置详细信息”并选中任何适用的框
  • 点击“设置权限”并选中“公开所有内容”(如果适用)
  • 点击“设置元数据”
  • 点击“添加更多元数据”
  • 在“密钥”下拉列表中,选择“内容类型”,然后在“值”框中键入“text / html” - 它不是提供的选项,但这只是一个常见类型列表并且没有限制你可以放在盒子里的东西。
  • 点击“开始上传”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM