2011-09-10 40 views
1

我只是將我的網站的開發版本移植到生產環境中,它仍然顯示舊圖像並使用古代樣式表。這發生在每個人身上。剛剛加載一個頁面,而不是從緩存中使用php

我試圖

<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> 
<META HTTP-EQUIV="Pragma-directive" CONTENT="no-cache"> 
<META HTTP-EQUIV="Cache-Directive" CONTENT="no-cache"> 
<META HTTP-EQUIV="Expires" CONTENT="0"> 

而且,因爲這是我的WordPress剛剛入隊,其在最後添加的主題版本的CSS。所以style.css?ver = 2.0。

我在IIS上運行這個公司的必要性。

這些選項似乎都不能正常工作。當用戶訪問該網站時,我怎樣才能最新加載頁面而不是從緩存中加載頁面?

+0

爲什麼不加入WordPress的將自己的代碼,因爲你基本上是問:「如何關閉緩存在WordPress」爲此,你很可能會從http://Wordpress.stackexchange.com得到更有針對性的答案。另外,也許有幫助:http://codex.wordpress.org/I_Make_Changes_and_Nothing_Happens –

+0

它與WordPress沒有任何關係。它與IIS緩存有關。 –

+0

那麼也許你應該在標籤中添加IIS而不是元標籤? –

回答

6

假設你在一個PHP頁面的時候,只是一個隨機數追加到請求

<link rel="stylesheet" type="text/css" href="style.css?random=<?php echo rand(1,100000); ?>" /> 

您也可以用CSS/JS/etc文件內PHP頭做到這一點,但你需要將CSS和JS解析爲PHP,並且有點麻煩。

另一種選擇是通過htaccess的設置它 - 的http://www.askapache.com/htaccess/using-http-headers-with-htaccess.html

<FilesMatch "\.(html|htm|js|css)$"> 
    FileETag None 
    <IfModule mod_headers.c> 
     Header unset ETag 
     Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" 
     Header set Pragma "no-cache" 
     Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT" 
    </IfModule> 
</FilesMatch> 
+0

謝謝!因爲這是WordPress的,我只是通過它添加主題版本的最後入隊。所以style.css?ver = 2.0。我在IIS上運行這個,所以將它添加到.htaccess中將不起作用。有任何想法嗎? –

+1

http://support.microsoft.com/kb/247389這可能對你來說意味着什麼,我對IIS沒有任何線索,所以嘿:)「谷歌搜索禁用緩存」應該給你一些很好的結果。 – Joe

+0

@Zach Shallbetter:注意,因爲你還沒有回到這個位置,我認爲它已經解決了。如果是這樣,請點擊這個答案的大勾,選擇作爲選定的答案:)如果你不選擇答案作爲選擇,人們不太可能回答你問的未來問題:) – Joe

相關問題