मैं CSS, JS और Images के लिए समय सीमा समाप्ति हेडर कैसे सेट करूं?


38

मैंने हाल ही में फायरबग पर पेजस्पीड एडऑन के साथ अपनी वेबसाइट का विश्लेषण किया है। इसने मुझे CSS, JS और छवि फ़ाइलों पर समाप्ति सेट करने का सुझाव दिया।

मैं सोच रहा हूं कि मैं यह कैसे कर सकता हूं?

जवाबों:


37

अपने मूल कॉन्फ़िगरेशन के भाग के रूप में नीचे दिए गए निर्देशों को शामिल करने के लिए अपने अपाचे कॉन्फ़िगरेशन को अपडेट करें :

# 
# associate .js with "text/javascript" type (if not present in mime.conf)
# 
AddType text/javascript .js

# 
# configure mod_expires
# 
# URL: http://httpd.apache.org/docs/2.2/mod/mod_expires.html
# 
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 seconds"
    ExpiresByType image/x-icon "access plus 2692000 seconds"
    ExpiresByType image/jpeg "access plus 2692000 seconds"
    ExpiresByType image/png "access plus 2692000 seconds"
    ExpiresByType image/gif "access plus 2692000 seconds"
    ExpiresByType application/x-shockwave-flash "access plus 2692000 seconds"
    ExpiresByType text/css "access plus 2692000 seconds"
    ExpiresByType text/javascript "access plus 2692000 seconds"
    ExpiresByType application/x-javascript "access plus 2692000 seconds"
    ExpiresByType text/html "access plus 600 seconds"
    ExpiresByType application/xhtml+xml "access plus 600 seconds"
</IfModule>

# 
# configure mod_headers
# 
# URL: http://httpd.apache.org/docs/2.2/mod/mod_headers.html
# 
<IfModule mod_headers.c>
    <FilesMatch "\\.(ico|jpe?g|png|gif|swf|css|js)$">
        Header set Cache-Control "max-age=2692000, public"
    </FilesMatch>
    <FilesMatch "\\.(x?html?|php)$">
        Header set Cache-Control "max-age=600, private, must-revalidate"
    </FilesMatch>
    Header unset ETag
    Header unset Last-Modified
</IfModule>

जब मैं इसे अपनी .htaccess फ़ाइल में
रखता

आपका अपाचे सेटअप ऊपर सूचीबद्ध सभी विकल्पों का समर्थन नहीं कर सकता है। मैं इस समस्या को हल करने में मदद करने के लिए शीघ्र ही इस उत्तर को अपडेट करूंगा।
जॉन कोंडे

मेरे Drupal में जावास्क्रिप्ट / css संदर्भ हैं जैसे: www.example.com/misc/jquery.js?v=1.4.4 या www.example.com/sites/all/modules/nice_menus/css-nice_menus.css?mtu293, यह ऐसी फ़ाइलों के लिए काम नहीं करता है। क्या यह आज तक अपडेट है?
AgA

2
@ जॉन्कॉन्डे क्यों समाप्त हो जाते हैं और हेडर? उदाहरण के लिए, छवि या सीएसएस को अपडेट करते समय, क्या फ़ाइल का नाम बदलने की आवश्यकता है? या एक सीएसएस फ़ाइल के लिए संस्करण काम करता है: test.css? 123?
riseagainst

14

आप इसे अपने htaccess में डाल सकते हैं:

<FilesMatch "(?i)^.*\.(ico|flv|jpg|jpeg|png|gif|js|css)$">
ExpiresActive On
ExpiresDefault A2592000
</FilesMatch>

यह उन एक्सटेंशन (आईसीओ, एफएलवी, जेवीसी इत्यादि) के साथ फाइलों को लक्षित करेगा और एक्सपायर हेडर को एक्सेस टाइम (ए) प्लस 30 दिन (2592000 सेकंड) निर्धारित करेगा। यदि आप उस तक पहुंच रखते हैं तो आप इसे सर्वर स्तर पर भी जोड़ सकते हैं।


2

यह होस्ट और आपके द्वारा इन चीजों को सर्वर करने के तरीके पर निर्भर करता है। विकल्प 1) यदि आप सर्वर को नियंत्रित करते हैं तो प्रतिक्रिया में विकल्प शीर्षकों को जोड़ने के लिए अपाचे बनाते हैं विकल्प 2) यदि आप वेब सर्वर को नियंत्रित नहीं करते हैं, या आप छवियों / जेएस / सीएसएस / आदि को सर्वर करते हैं तो आप स्क्रिप्ट से ये हेडर सेट कर सकते हैं जो उन्हें सर्वर

ध्यान रखें कि ये संकेत अनुशंसित हैं लेकिन पूर्ण सत्य नहीं हैं। वे आपकी वेबसाइट को गति देने की तुलना में आपको एक बैंडविड्थ बचाने के लिए अधिक हैं। इसलिए यदि आपकी साइट पर कम यातायात है, तो इस बारे में बहुत चिंता न करें।


मैं विकल्प 2 के साथ हूं। मैं इन हेडर को स्क्रिप्ट से कैसे सेट कर सकता हूं। स्क्रिप्ट का मतलब है php या कौन सा?
कूलबिन 5

आप stackoverflow.com/questions/2185449/ पर चेक कर सकते हैं। यह एक अजगर का उदाहरण है, लेकिन यदि आप प्रोग्रामिंग से परिचित हैं तो मुझे लगता है कि आपको यह विचार मिलेगा। Php में आपको हेडर () का उपयोग करना होगा। लेकिन ध्यान रखें कि इस मामले में सभी "स्टैटिक" फाइलों को स्क्रिप्ट को ट्रफ करना होगा, जिससे आपका सीपीयू कोटा बढ़ेगा। अब यह मेरे सामने आता है कि एक 3 विकल्प है। इन फ़ाइलों के लिए CDN का उपयोग करें।
इलियन इलिव

2

Lightspeed वेब सर्वर में समय सीमा समाप्त हो रही है

व्यवस्थापन कंसोल पर लॉगिन करें> सर्वर-> सामान्य-> समय सीमा समाप्त-> प्रकार द्वारा समाप्त

निम्नलिखित जोड़ें:

text/css=A604800, text/javascript=A604800, application/javascript=A604800, application/x-javascript=A604800, application/x-shockwave-flash=A604800, image/gif=A604800, image/jpg=A604800, image/jpeg=A604800, image/png=A604800, image/ico=A604800, image/icon=A604800

604800 की अवधि समाप्त होने के कुछ सेकंड हैं, जो कि 168 घंटे यानी 7 दिनों के बाद से आपकी आवश्यकताओं के लिए उपयुक्त होना चाहिए। इसके अतिरिक्त लाइट स्पीड सर्वर एक htaccess का उपयोग करता है जिसे आपको निम्नलिखित पंक्ति जोड़ने की आवश्यकता है:

ExpiresActive On

वैकल्पिक रूप से यदि आपके पास व्यवस्थापक कंसोल नहीं है, तो निम्न .htaccess फ़ाइल आज़माएँ:

  ExpiresByType image/png A604800
  ExpiresByType image/gif A604800
  ExpiresByType image/jpg A604800
  ExpiresByType image/jpeg A604800
  ExpiresByType text/javascript A604800
  ExpiresByType application/x-javascript A604800
  ExpiresByType text/css A604800
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.