【问题标题】:CSS file does not render properly on Amazon S3CSS 文件无法在 Amazon S3 上正确呈现
【发布时间】:2020-10-03 05:49:09
【问题描述】:

我有一个 S3 存储桶,它托管一个简单的网站,提供 1 个 HTML 文件和 1 个 CSS 文件。

HTML 文件似乎能够找到 CSS 文件,但问题是 CSS 文件在上传到 S3 并加载到浏览器时由于某种原因无法正确呈现。线条混乱,中心背景颜色一直延伸到边缘。在浏览器本地打开相同的文件时看起来很好。

我试过了:

  • 用不同的浏览器打开
  • 确保 css 文件的元数据正确
  • 通过控制台和 AWS CLI 重新上传

在 S3 上渲染(未正确渲染):


在本地渲染(应有的方式):


元数据内容类型:文本/css:


已检查存储桶托管:


这可能是什么原因造成的?

【问题讨论】:

  • 浏览器缓存了旧版本?
  • 我尝试了不同的浏览器和设备。同样的问题。文件在本地渲染良好,但在 S3 上却不行。此外,如果我对文件进行一些更改并重新上传到 S3,则会显示更改。
  • 您是如何在 HTML 中引用 CSS 文件(src ref)的?浏览器开发工具网络选项卡是否显示任何问题?如果您查看实际下载的 CSS 文件(通过网络选项卡),是否正确?
  • @jarmod 非常感谢您为我指明了正确的方向!什么为我解决了这个问题:浏览器开发工具网络选项卡在 HTML 文件指向的另一个第三方 CSS(url) 上显示“混合内容”错误。 “此请求已被阻止;内容必须通过 HTTPS 提供。”所以我上传到 S3 的主要 CSS 文件不是问题,而是具有非 https URL 的第三方 CSS 文件。我下载了 CSS 文件,上传到 S3,并更新了 HTML 文件以从 S3 而不是原始 URL 获取它。

标签: html css amazon-web-services amazon-s3


【解决方案1】:

我也有同样的问题。我解决它的方法是在 CSS 参考中省略“/”,因为它在我的 S3 存储桶中没有包含文件夹。似乎常规文本编辑器可以以某种方式自动执行此操作?我指的是这样的 CSS 文件 --> <link rel="stylesheet" type="text/css" href="/main.css"> 然后省略了“/”导致 ---> <link rel="stylesheet" type="text/css" href="main.css"> 然后它起作用了。

【讨论】:

    猜你喜欢
    • 2014-12-17
    • 1970-01-01
    • 2015-03-21
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    • 1970-01-01
    • 2020-01-16
    • 2011-05-19
    相关资源
    最近更新 更多