我一直在使用S3托管静态网站,并且对HTML和CSS文件进行了更改,并看到了过去所做的更改。由于某种原因,我去做与以前完全相同的事情,更改了我的一个网站的样式,并且没有任何变化。实际上,删除所有先前的文件后,旧版本仍在渲染。我在那个特定存储桶上没有版本控制。
内容类型设置为“文本/ css”。我的文件结构正常,其中index.html位于根目录中。创建或更新新站点或现有站点的常规步骤没有更改,但是S3出于某种原因进行了更改。
当我单击index.html文件并转到公共URL链接时,它反映了我的所有更改。
我唯一的解决方法是将完整的url添加到样式链接。
<link href="https://s3.amazonaws.com/{bucket-name}/css/style.css">
除了添加http链接外,有人知道为什么会这样或如何解决吗?如果没有,我希望我的解决方案可以帮助其他人解决这个奇怪的S3问题。通常,您可以将文件上传到存储桶中,设置策略,并在声明根html文件后最终启用托管。
答案 0 :(得分:2)
这可能是由于您的浏览器缓存所致,它是在您上次访问URL时加载本地存储的资产(CSS样式表),而不是获取新资源以加快加载时间。您可以在浏览器中更改一些设置,以确定在获取新资源之前浏览器将在缓存的资源上保留多长时间。
通过将样式表链接直接设置为s3存储桶URL,每次加载页面时,它将导致它获取新的样式表,这使我相信缓存是这里的问题。
尝试清除缓存,看看是否可以解决问题。
Here is a deeper explanation of the concept with respect to browsers, and a list of commands根据您所使用的浏览器/操作系统执行刷新刷新!
答案 1 :(得分:0)
我认为这是CSS文件夹,不允许您访问其中的文件。如果将文件夹设为公用,它将起作用。
答案 2 :(得分:0)
选择所有文件和文件夹,转到“操作”选项卡,然后选择“公开”以允许对象彼此访问。