Nasıl PHP dosyaları için mod_deflate etkinleştirebilirim?

4 Cevap php

Ben mod_deflate yüklü ve aktif / çalıştığından emin yaptık, bir Sıvı Web VPS hesabı var.

Ben Ancak, ben şimdi mod_deflate üzerinden bunu yapmak için çalışıyorum ... PHP ile benim css ve js dosyaları gziplemek yanı sıra, benim PHP dosyaları kendileri için kullanılır, ve PHP dosyaları hariç tüm dosyalar için iyi çalışıyor gibi görünüyor. (Txt dosyaları ince, css, js, statik HTML dosyaları, bir PHP dosyası ile oluşturulan, sadece hiçbir şey çalışmıyor.) Bunu nasıl düzeltebilirim?

(Ben "görüntülerin dışında her şeyi sıkıştırmak (tam olarak aynı metin) o daha yüksek bir düzey, public_html değil, ev dizininde bir. Htaccess dosyası oluşturur cPanel" Optimize Web Sitesi "altında" tüm içeriği sıkıştır "seçeneği, kullanılan "üzerine örnek http://httpd.apache.org/docs/2.0/mod/mod_deflate.html)

. Htaccess dosyası:

<IfModule mod_deflate.c>
    SetOutputFilter DEFLATE
    <IfModule mod_setenvif.c>
        # Netscape 4.x has some problems...
        BrowserMatch ^Mozilla/4 gzip-only-text/html

        # Netscape 4.06-4.08 have some more problems
        BrowserMatch ^Mozilla/4\.0[678] no-gzip

        # MSIE masquerades as Netscape, but it is fine
        # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

        # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
        # the above regex won't work. You can use the following
        # workaround to get the desired effect:
        BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

        # Don't compress images
        SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
    </IfModule>

    <IfModule mod_headers.c>
        # Make sure proxies don't deliver the wrong content
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
</IfModule>

4 Cevap

Ben bu soruyu yayınlanmıştır beri bir süre oldu - Ben PHP.ini zlib sıkıştırma sağlayan sona erdi mod_deflate her şeyi sıkıştırır yaparken çok zlib PHP çıkışını sıkıştırır.

Ben (mod_deflate PHP çıkışı sıkıştırarak değil) çalışma değildi nedenini düşünüyordum PHP bir Apache DSO CGI olarak çalışan ve ile ilgisi vardır ...

Eğer php.ini dosyasına zlib.output_compression = On ekleyebilirsiniz. Bu ne olursa olsun mod_deflate çıkışını sıkıştırır.

Bu konfigürasyon way kullanılmıyor. Bu ve şimdi silinmiş gerektiğini olabilir: Netscape 4 uzun bir süre için yaklaşık olmamıştır, ve ayar Vary: User-Agent gereksiz yere önbelleğe engellemektedir.

İhtiyacınız sadece mod_deflate geneli, ya sıkıştırılabilir medya türleri için Söndür açmak AddOutputFilter to choose compressible files by extension, or AddOutputFilterByType to choose them by returned Content-Type kullanarak bir çizgidir.

Sen Directory bölümü dışında mod_deflate direktifleri taşımak gerekir. mod_deflate sizin httpd.conf in için global kuralları tanımlayın