首页 文章

如何使用.htaccess或php.ini使用gzip压缩网站优化php文件?

提问于
浏览
1

我使用 .htaccesshttp://html5boilerplate.com/这是正确压缩的.html,提供的CSS,和.js文件,但我一直没能得到.php文件压缩,除非我添加 <?php if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start(); ?> 到页面的顶部 . 我要做的最后一件事是将该行添加到一百多页 .

我一直在使用以下两个站点来验证gzip压缩:

以下建议也没有奏效:

我也试过以下(http://perishablepress.com/fast-effective-php-compression/):

<?php // placed in a gzip_start.php file
ob_start("ob_gzhandler");
?>

<?php // placed in a gzip_stop.php file
ob_flush();
?>

# Placed in the .htaccess filew
# dual file includes for PHP compression
php_value  auto_prepend_file  /specify/full/path/to/gzip_start.php
php_value  auto_append_file   /specify/full/path/to/gzip_stop.php

这是我的 .htaccess 文件的Gzip部分:

# ----------------------------------------------------------------------
# Gzip compression
# ----------------------------------------------------------------------

<IfModule mod_deflate.c>

# Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
<IfModule mod_setenvif.c>
  <IfModule mod_headers.c>
    SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s,?\s(gzip|deflate)?|X{4,13}|~{4,13}|-{4,13})$ HAVE_Accept-Encoding
    RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
  </IfModule>
</IfModule>

# HTML, TXT, CSS, JavaScript, JSON, XML, HTC:
<IfModule filter_module>
  FilterDeclare   COMPRESS
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type /text/(html|css|javascript|plain|x(ml|-component))/
  FilterProvider  COMPRESS  DEFLATE resp=Content-Type /application/(javascript|json|xml|x-javascript)/
  FilterChain     COMPRESS
  FilterProtocol  COMPRESS  change=yes;byteranges=no
</IfModule>

<IfModule !mod_filter.c>
  # Legacy versions of Apache
  AddOutputFilterByType DEFLATE text/text text/html text/plain text/css application/json
  AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript 
  AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
</IfModule>

# Webfonts and SVG:
  <FilesMatch "\.(ttf|otf|eot|svg|php)$" >
    SetOutputFilter DEFLATE
  </FilesMatch>
</IfModule>

2 回答

  • 0

    Edit Your .htaccess File like This

    # compress text, html, javascript, css, xml:
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript
    
    # Or, compress certain file types by extension:
    
    &ltfiles *.html >
    SetOutputFilter DEFLATE
     </files>
    
    &ltfiles *.css>
    SetOutputFilter DEFLATE
     </files>
    
    &ltfiles *.js >
    SetOutputFilter DEFLATE
     </files>
    
    &ltfiles *.img >
    SetOutputFilter DEFLATE
     </files>
    
  • 0

    如果你有扩展名为.php的观点 . 您必须将此添加到.htaccess文件中

    <files *.php >
    SetOutputFilter DEFLATE
     </files>
    

相关问题