2010-01-20 13 views
5

में कैश की समाप्ति समय सेट करें I Apache2 के साथ केकेपीएचपी का उपयोग कर रहा हूं। Google से पेजस्पेड टूल के साथ अपने पृष्ठों का विश्लेषण करते हुए, मुझे दो मुख्य समस्याएं मिलती हैं। पहला यह है कि मुझे सामग्री की gzipping को सक्षम करना चाहिए, दूसरा, मुझे छवियों, जावास्क्रिप्ट और सीएसएस फ़ाइलों के लिए ब्राउज़र कैशिंग का लाभ उठाना चाहिए।Gzip संपीड़न को सक्षम करें और केशपीएचपी

मुझे इसका उपचार करने के लिए कम या कम मिला है, लेकिन इसमें मेरी मुख्य। Htaccess फ़ाइल को बदलना शामिल है। यह वास्तव में केकपीएचपी तरीका नहीं दिखता है, अगर कुछ भी नहीं है। Htaccess केकेपीएचपी वितरण का हिस्सा है, और मुझे संस्करण बदलने के दौरान इसे रखना याद रखना होगा। क्या ऐसा करने के लिए इससे अच्छा तरीका है?

पहले के लिए, मैं

php_value output_buffering On 
php_value output_handler ob_gzhandler 

डालकर में सुधार कर सकते हैं मैं भी

<IfModule mod_deflate.c> 
    AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript application/x-javascript 
</IfModule> 

कोशिश की, लेकिन मैं PageSpeed ​​के साथ किसी भी परिणाम नहीं देखा।

दूसरे के लिए मैं अब

<IfModule mod_expires.c> 
    ExpiresActive On 
    ExpiresByType application/x-javascript A8640000 
    ExpiresByType text/javascript A8640000 
    ExpiresByType text/css A8640000 
    ExpiresByType image/png A8640000 
</IfModule> 

उपयोग करें और यह एक तरह से, काम करता है, हालांकि मैं अभी भी संदेश "निम्न कैश करने योग्य संसाधन बहुत कम समय तक ताज़ा रहते हैं मिलता है। भविष्य में कम से कम एक महीने के एक समय समाप्ति निर्दिष्ट करें निम्नलिखित संसाधनों के लिए: ब्ला ब्लाह "

+0

उपयोग) AppController में इस कोड सार्वजनिक समारोह beforeRender ({ \t \t इस-> प्रतिक्रिया> संपीड़ित $() निम्नलिखित ubuntu समय में mod_expires मॉड्यूल शुरू करने के लिए; \t} – Meer

उत्तर

3

जब GZIP संपीड़न और ब्राउज़र कैशिंग की बात आती है तो कोई" केकपीएचपी रास्ता "नहीं होता है। यह निश्चित रूप से अपाचे कॉन्फ़िगरेशन समस्या का अधिक है। आप .htaccess फ़ाइलों को अपने /app फ़ोल्डर में अशुद्धता के साथ संशोधित करने में सक्षम होना चाहिए।

केकेपीएचपी को अपडेट/अपग्रेड करते समय, आपको केवल /cake फ़ोल्डर में फ़ाइलों को बदलने की आवश्यकता है। आपको .htaccess/app फ़ोल्डर की फ़ाइलों में किसी भी सर्वर कॉन्फ़िगरेशन को पुन: सक्षम करने की आवश्यकता नहीं होगी, क्योंकि सबकुछ वही रहेगा।

हमेशा याद रखें: /app फ़ोल्डर में कुछ भी उचित गेम है।

+0

केकफ़्पी :: प्रतिक्रिया-> संपीड़न() के बारे में क्या; ?? i.e सार्वजनिक फ़ंक्शन से पहले सार्वजनिक फ़ंक्शन जोड़ना() { \t $ यह-> प्रतिक्रिया-> संपीड़न(); \t} – Meer

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

आदेशों

sudo a2enmod headers 
sudo a2enmod expires 
sudo service apache2 restart 
संबंधित मुद्दे