2012-10-17 83 views
0

我有一個網頁,提供相當數量的圖像,我想要緩存。爲此,我有一個PHP腳本,列出了我需要的圖像的路徑。最終的文件看起來是這樣的:包含緩存清單的文件自動包含其自身

CACHE MANIFEST 

NETWORK: 
* 

CACHE: 
uploads/categoriasactuaciones/1.png 
uploads/categoriasactuaciones/10.png 
[...] 
uploads/riesgos/5.png 
uploads/riesgos/6.png 

的問題是,已經在<html>標籤清單頁面就會自動緩存,該登錄邏輯駐留有。有沒有辦法禁用?我在這裏做錯了什麼?

回答

0

您可以誘使瀏覽器相信它始終是一個不同的頁面,無論您在何處提取頁面,都會在查詢字符串中添加一個隨機參數。

例如:

<a href="page.html?r=<?= /* your random string here */ ?>">Link here</a> 

這樣瀏覽器就不會使用緩存的頁面,並會發出一個新的請求來代替。

如果您不希望緩存的頁面是您的索引頁,這可能不起作用。但是,你可以改爲設置在響應頭緩存控制PARAM,使用功能,如PHP的header()(這取決於,當然,在你的編程語言):

<?php 
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
?> 

此外,如果你正在使用一個框架,你可能會利用框架的緩存配置。

(來源:http://php.net/manual/en/function.header.php

+0

我抓取的網頁是索引,通過裝笨,所以它不會工作。 – manutenfruits

+0

@manutenfruits我看到了,我已經編輯了我的答案。 – cafonso