amazon-web-services - 亚马逊 AWS S3 站点更新
问题描述
我已经浏览了几乎所有我能找到的相关问题,并且建议的解决方案似乎都没有解决我的问题。我目前在 Amazon AWS 上托管一个网站,严格使用 S3 和 Route 53 工具来托管一个静态网站,并从几个不同的 URL 查询重新路由到我们的网站。今天早上我尝试更新用于设置网页样式的 CSS 文件,以及一堆新的图像文件和一些对 HTML 页面的小更新,并注意到我的所有更改都立即显示在网页上,除了更改我已经制作了我的 CSS 文件。我已经检查过,S3 上的文件版本是正确/更新的版本,但是当我尝试使用 Web 浏览器中的开发人员工具检查显示的网页时,它仍然显示旧版本的 css 文件. 这对我来说没有任何意义,因为除了这个特定文件之外,所有其他更改都会立即显示出来。有没有人对如何解决这个问题/可能出了什么问题有任何想法?
注意:我根本没有在这个网页上使用 AWS CloudFront,所以我不相信其他地方建议的任何“失效”都会对我有帮助。过去,我更新了文件并在加载我的网页时立即看到了变化。
解决方案
你已经知道这是一个浏览器缓存问题——你可以清除缓存,但是如果你想强制每个人都自动获取新的 CSS,我通常会在文件 include 中添加一个查询参数,即
<link href="~/css/plugins/thickbox/thickbox.css" rel="stylesheet" />
做这个:
<link href="~/css/plugins/thickbox/thickbox.css?v=1001" rel="stylesheet" />
每次推出更新时,您都可以升级 1001 - 浏览器将自动获取新文件。
谷歌“缓存破坏”以获取其他选项。
推荐阅读
- python - 是否有结合`while`和`with`的Python结构?
- jquery - 如何使错误显示在您的输入下方
- sql - 在 CASE 语句中使用 INSERT INTO 时出错
- sql - 为什么必须在 IDENTITY_INSERT ON 时指定列?
- java - 避免在多线程代码中使用关闭标志
- jquery - 触发 jQuery UI 对话框取消操作时,父级中的按钮出现问题
- android - 如何从另一个类中的另一个方法更新ANDROID中的progressBar
- mysql - 如何在 mysql 或 php 脚本中更新基于依赖项的列?
- javascript - 下载文件后重定向并返回响应
- swift - 在 Xcode 中使用 MLMultiArray 作为 mlmodel 的输入