2015-11-07 83 views
0

我新來這裏很抱歉,如果這是在錯誤的類別或類似的東西。現在解決我的問題。我有一個網站:www.windowstaan​​.pe.hu這也開啓在移動應用程序,所以爲了使其在.htaccess加載快,我已經啓用了高速緩存,這裏是它的代碼:如何緩存圖像一年,但HTML/PHP只有24小時

## EXPIRES CACHING ## 
<IfModule mod_expires.c> 
ExpiresActive On 
ExpiresByType image/jpg "access 1 year" 
ExpiresByType image/jpeg "access 1 year" 
ExpiresByType image/gif "access 1 year" 
ExpiresByType image/png "access 1 year" 
ExpiresByType text/css "access 1 day" 
ExpiresByType text/html "access 1 day" 
ExpiresByType application/pdf "access 1 month" 
ExpiresByType text/x-javascript "access 1 month" 
ExpiresByType application/x-shockwave-flash "access 1 month" 
ExpiresByType image/x-icon "access 1 year" 
ExpiresDefault "access 1 month" 
</IfModule> 
## EXPIRES CACHING ## 

現在這裏什麼情況是我在瀏覽器中加載的任何頁面也可以離線加載,這正是我想要的,但是如果我對html進行了任何更改,那麼我不確定它將如何在此處更新。

我的html文件保存爲index.php,PHP,因爲他們有一些PHP代碼,主要包括頁眉,頁腳和一個小的mysql行。

現在我想要的是這個主頁和其他html/php頁面每天都要重新加載。

請告訴我我需要做什麼.htaccess來設置它。

我已經嘗試設置html/css到1天那裏,但那不能正常工作,因爲我的應用程序仍然加載舊的緩存。 (我的應用程序只是Windows Phone 8.1,IE11的瀏覽器。)

在此先感謝。

回答

0

瀏覽器緩存將基於資源URL。

當您要強制瀏覽器重新加載新資源時,只需通過添加版本字符串來更改URL。

例如,當前圖像的URL:

http://static.adzerk.net/Advertisers/af217662e49a4cbda030feae88418cdd.png 

可以更改爲:

http://static.adzerk.net/Advertisers/af217662e49a4cbda030feae88418cdd.png?v=1 

版本號可以在PHP代碼來控制。

如果您不使用數據庫,可以從文本文件讀取/寫入版本控制編號。

+0

我曾經看到過一個類似style.xhb32.css的「指紋」解決方案,然後在我做出更改時將其重命名爲其他內容。我可以爲我的css文件管理這種方法,因爲我只有1個頭文件,在那裏生病需要做重命名然而,我有一些我不能重命名bcoz許多其他文件鏈接到它,這裏你建議似乎解決這個問題,因爲你的文件名字是相同的,但我從來沒有添加類似「?v1」之類的東西,所以我不知道它是如何工作的。你能給我一個小指南嗎?我有一個tutorials.php文件,其中包含基本鏈接,當我進行更改時,需要進行更新。 –

+0

假設您將版本號存儲在某處(例如在數據庫中)。在您的代碼中,每次更改版本時,必須在圖像之後添加字符串。

+0

嗯,我之前沒有使用過數據庫來存儲類似的東西,但我明白了,謝謝你生病嘗試類似的東西。我可能不需要它的圖像我只有4-5頁,我需要更新時,我做出了改變。 –