簡體   English   中英

S3 CSS 資產未加載,但以前加載過。 為什么會停下來?

[英]S3 CSS assets not loading, but previously did. Why would it stop?

我一直在使用 S3 來托管靜態網站,並且對 HTML 和 CSS 文件進行了更改,並且已經看到這些更改反映在過去。 出於某種原因,我會做我以前做過的完全相同的事情,改變我的一個網站的風格,但不會發生任何變化。 事實上,在刪除所有以前的文件后,舊版本仍在渲染。 我對那個特定的存儲桶沒有版本控制。

內容類型設置為“text/css”。 我的文件結構正常,index.html 位於根目錄中。 我創建或更新新站點或現有站點的正常步驟沒有改變,但 S3 出於某種原因改變了。

當我單擊 index.html 文件並轉到公共 url 鏈接時,它反映了我的所有更改。

我唯一的解決方法是將完整的 url 添加到樣式鏈接。

<link href="https://s3.amazonaws.com/{bucket-name}/css/style.css">

有誰知道為什么會發生這種情況,或者除了添加 http 鏈接之外如何解決它? 如果沒有,我希望我的解決方案可以幫助其他人解決這個奇怪的 S3 問題。 通常,您只需將文件上傳到存儲桶,設置策略,最后在聲明根 html 文件后啟用托管。

這可能是由於您的瀏覽器緩存,它從您上次訪問 URL 時加載本地存儲的資產(CSS 樣式表),而不是獲取新資源以嘗試加快加載時間。 您可以在瀏覽器中更改一些設置,以確定瀏覽器在獲取新資源之前將保留緩存資源的時間。

通過將樣式表鏈接直接設置為 s3 存儲桶 URL,它會導致它在每次加載頁面時獲取新的樣式表,這讓我相信緩存是這里的問題。

嘗試清除緩存,看看是否能解決問題。

這是關於瀏覽器的概念的更深入解釋,以及根據您擁有的瀏覽器/操作系統執行緩存刷新的命令列表

我認為這是 CSS 文件夾不允許您訪問里面的文件。 如果您將文件夾設為公開,它將起作用。

選擇所有文件和文件夾,轉到操作選項卡,然后選擇公開以允許對象相互訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM