2012-12-22 17 views
7

मैं दोनों के साथ .htaccess मिल सकता है:GZIP संपीड़न + इनको हवा निकालना

DEFLATE 

php, चित्र, html फ़ाइलें आदि के साथ + php हैडर पर:

ob_start("gzhandler") ? 

नहीं हैं, तो क्या है सबसे अच्छा मौका? अगर मैं संघर्ष करता हूं तो मैं चिंतित हूं।

उत्तर

28

छवियों पर संपीड़न का उपयोग करना आमतौर पर एक बहुत बुरा विचार है क्योंकि वेब पर व्यापक रूप से उपयोग किए जाने वाले अधिकांश छवि प्रारूप पहले ही संकुचित हो चुके हैं और आप फ़ाइलों को ओवरहेड जोड़ देंगे। आप आमतौर पर सामान पर संपीड़न का उपयोग करना चाहते हैं जिसे पाठ (एचटीएमएल, सीएसएस, जेएस इत्यादि) के रूप में प्रदर्शित किया जा सकता है क्योंकि उन लोगों के लिए संपीड़न अनुपात बहुत अधिक है।

प्रश्न के रूप में जहां तक ​​मुझे पता है कि एक ही समय में डेफलेट और जीजेआईपी दोनों का उपयोग करना संभव नहीं है, लेकिन ईमानदारी से मैं ऐसा कुछ करने की स्थिति में कभी भी स्थिति में नहीं था इसलिए कृपया इस जानकारी के साथ मेरे साथ सहन करें गलत है।

किसके लिए चयन करना है, मैं दृढ़ता से निम्नलिखित पोस्ट को देखने की सिफारिश करता हूं जहां आप डिफलेट और जीजेआईपी दोनों के कुछ पेशेवरों और विपक्ष को देख सकते हैं।

Why use deflate instead of gzip for text files served by Apache?

मैं व्यक्तिगत रूप से हवा निकालना का उपयोग जहां संभव हो बस क्योंकि इसकी कभी कभी कोड के आसपास poking से .htaccess के माध्यम से लागू करने के लिए आसान। सामानों का परीक्षण या विकास करते समय मुझे उस कार्यक्षमता को तुरंत अक्षम करने की संभावना भी पसंद है।

संपादित करें: तो तुम HERE उन्हें बाहर जांच करना चाह सकते एचटीएमएल 5 बॉयलरप्लेट उपयोगी .htaccess निर्देशों के एक बहुत व्यापक संग्रह है।

# ----------------------------------------------------------------------- 
# Defining MIME types to ensure the web server actually knows about them. 
# ----------------------------------------------------------------------- 
<IfModule mod_mime.c> 
    AddType application/javascript   js 
    AddType application/vnd.ms-fontobject eot 
    AddType application/x-font-ttf   ttf ttc 
    AddType font/opentype     otf 
    AddType application/x-font-woff   woff 
    AddType image/svg+xml     svg svgz 
    AddEncoding gzip      svgz 
</Ifmodule> 

# ----------------------------------------------------------------------- 
# Compressing output. 
# ----------------------------------------------------------------------- 
<IfModule mod_deflate.c> 
    AddOutputFilterByType DEFLATE text/html text/plain text/css application/json 
    AddOutputFilterByType DEFLATE application/javascript 
    AddOutputFilterByType DEFLATE text/xml application/xml text/x-component 
    AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml 
    AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype 
</Ifmodule> 
+0

ठीक है धन्यवाद, यह अच्छा होगा:

आप बस अनुसरण कर एक की तरह एक सामान्य स्थिति विन्यास का उपयोग करना चाहें अब हालांकि उस फ़ाइल बहुत व्यापक है? एक्सपियर डीफॉल्ट ए 2592000 हेडर अनसेट कैश- नियंत्रण SetOutputFilter DEFLATE JKMadsen

+1

उस कोड में संपीड़न के साथ कुछ भी नहीं है। कृपया कुछ "सर्वोत्तम प्रथाओं" के लिए मेरे अद्यतन उत्तर पर नज़र डालें। – brezanac

+0

यह मेरे लिए काम करता है, लेकिन लाइन 'AddOutputFilterByType DEFLATE टेक्स्ट/एक्सएमएल एप्लिकेशन/एक्सएमएल टेक्स्ट/एक्स-घटक' ने विंडोज 7 (सभी ब्राउज़रों) पर एक बड़ी त्रुटि उत्पन्न की, जहां वेबसाइट को बिल्कुल डिलीवर नहीं किया जा सका (सीपीनल, टीवाईपीओ 3 यूआरएल पुनर्लेखन)। मैंने इसे टिप्पणी की। – Urs

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