2010-09-02 14 views
6

मुझे पता है कि मैं mod_expires का उपयोग कर समाप्ति शीर्षलेख जोड़ सकता हूं। हालांकि, अगर अपाचे सर्वर में mod_expires इंस्टॉल नहीं हैं, तो मैं क्या कर सकता हूं और मैं PHP जैसी स्क्रिप्टिंग भाषा के माध्यम से फ़ाइलों तक पहुंच को रूट नहीं करना चाहता हूं?mod_expires के बिना शीर्षलेख समाप्त हो जाता है?

उत्तर

6

आप mod_header इस्तेमाल कर सकते हैं मैन्युअल रूप से शीर्ष लेख क्षेत्र स्थापित करने के लिए:

Header set Expires "..." 

लेकिन चूंकि Expires एक absolute time की आवश्यकता है, का उपयोग Cache-Control के अधिकतम उम्र एक्सेस समय से संबंधित समय के लिए पैरामीटर:

Header merge Cache-Control max-age=3600 
+0

तो आपका मतलब एक्सपियर हेडर का उपयोग करने के बजाय, कैश-कंट्रोल हेडर का उपयोग करें? – Sebi

+0

काम करता है, केवल कैश-कंट्रोल का उपयोग करता है और समाप्त नहीं होता है। – Sebi

1

यदि आप स्थिर हेडर समय-सीमा समाप्त है, निम्नलिखित जोड़ देगा एक अपने js और सीएसएस फ़ाइलों के लिए शीर्ष लेख सीमा समाप्त होगी:

<FilesMatch "\.(js|css)$"> 
Header set Expires "Fri, 01 Jan 2010 00:00:00 GMT" 
</FilesMatch> 
+0

समस्या मुझे सी की आवश्यकता है वर्तमान पहुंच समय के आधार पर भविष्य की तारीख को समझें और मैं निश्चित तिथि का उपयोग नहीं कर सकता। तो यह काम नहीं करेगा। – Sebi

1

यह अगली विज़िट में पृष्ठ को ताज़ा करने ब्राउज़र में बताना चाहिए। समाप्ति तिथि केवल अतीत में होनी चाहिए ... आप इसे अतीत में "बस" बनाने के लिए PHP का उपयोग करके तारीख सेट कर सकते हैं, या बस इसे इस तारीख के रूप में छोड़ दें!

header("Cache-Control: no-cache, must-revalidate"); 
header("Expires: Thu, 2 Sep 2010 05:00:00 GMT"); 

अपडेट: क्षमा - मुझे PHP के माध्यम से फ़ाइलों को रूट करने के बारे में वाक्य में "मत" याद आया! आप भी इन HTML मेटा टैग का उपयोग कर सकते हैं:

<meta http-equiv="Cache-Control" content="no-cache"> 
<meta http-equiv="Pragma" content="no-cache"> 
<meta http-equiv="expires" content="Thu, 2 Sep 2010 05:00:00 GMT"> 
+0

क्षमा करें, यह काम नहीं करेगा, क्योंकि मुझे गैर-एचटीएमएल फाइलों में एक्सपियर हेडर जोड़ने की जरूरत है। लेकिन ठीक है, मैं इसे अपने प्रारंभिक प्रश्न में लिखना भूल गया। – Sebi

संबंधित मुद्दे