【问题标题】:Optimizing the website with .htaccess使用 .htaccess 优化网站
【发布时间】:2010-08-17 20:46:35
【问题描述】:

我尝试使用 YSlow 来优化我的网站以获取路线。然而,即使我在 .htaccess 中添加了DEFLATE 代码来压缩文件,YSlow 仍然不会将文件显示为压缩后的文件。我尝试使用以下方法测试我的网站:http://www.gidnetwork.com/tools/gzip-test.php,它显示我的网页 gzip 或压缩。我还能如何将它们压缩或压缩?

这是.htaccess:

SetOutputFilter DEFLATE
Header unset ETag
FileETag None

################ Expires Control ################
ExpiresActive On
ExpiresDefault A0
<FilesMatch "\.(gif|jpg|jpeg|png|swf)$">
# 2 weeks
ExpiresDefault A1209600
Header append Cache-Control "public"
</FilesMatch>
<FilesMatch "\.(xml|txt|html)$">
# 2 hours
ExpiresDefault A7200
Header append Cache-Control "proxy-revalidate"
</FilesMatch>
<FilesMatch "\.(js|css)$">
# 3 days
ExpiresDefault A259200
Header append Cache-Control "proxy-revalidate"
</FilesMatch>

除此之外,我还能做些什么来优化速度并减少网页的加载时间?

此外,每次我刷新页面时,页面上的图像都会不断加载。如何缓存它以使其快速加载?

【问题讨论】:

    标签: php optimization .htaccess compression apache2


    【解决方案1】:

    您可以尝试启用“mod_gzip”

    把它放在你的 .htaccess 中

    <ifModule mod_gzip.c>
      mod_gzip_on Yes
      mod_gzip_dechunk Yes
      mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
      mod_gzip_item_include mime ^text/.*
      mod_gzip_item_include mime ^application/x-javascript.*
      mod_gzip_item_exclude mime ^image/.*
      mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
    </ifModule>
    

    【讨论】:

    • 我试过了,但它显示我的文件没有压缩。我不确定我还需要做什么才能对它们进行 gzip 压缩。
    • 确定:您确定您更改了我提供的 .htaccess 规则吗? (因为这些只是示例规则)我认为您的网络主机可能已禁用 mod_gzip 以保护一些 cpu 周期。 ;-)
    • 如果我的虚拟主机禁用了 mod_gzip,我还能如何压缩文件?还有其他选择吗?
    • 这很难看,但你可以使用 PHP "ob_gzhandler" (php.net/manual/en/function.ob-gzhandler.php) 来压缩所有请求。小方法:ardamis.com/2010/07/11/…
    【解决方案2】:

    你好,把下面的代码放在 htaccess 中

    <ifModule mod_gzip.c>
      mod_gzip_on Yes
      mod_gzip_dechunk Yes
      mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
      mod_gzip_item_include handler ^cgi-script$
      mod_gzip_item_include mime ^text/.*
      mod_gzip_item_include mime ^application/x-javascript.*
      mod_gzip_item_exclude mime ^image/.*
      mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
    </ifModule>
    
    <IfModule mod_expires.c>
    # Enable expirations
    ExpiresActive On 
    # Default directive
    ExpiresDefault "access plus 1 month"
    # My favicon
    ExpiresByType image/x-icon "access plus 1 year"
    # Images
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    # CSS
    ExpiresByType text/css "access plus 1 month"
    # Javascript
    ExpiresByType application/javascript "access plus 1 year"
    </IfModule>
    
    <IfModule mod_deflate.c>
      # Compress HTML, CSS, JavaScript, Text, XML and fonts
      AddOutputFilterByType DEFLATE application/javascript
      AddOutputFilterByType DEFLATE application/rss+xml
      AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
      AddOutputFilterByType DEFLATE application/x-font
      AddOutputFilterByType DEFLATE application/x-font-opentype
      AddOutputFilterByType DEFLATE application/x-font-otf
      AddOutputFilterByType DEFLATE application/x-font-truetype
      AddOutputFilterByType DEFLATE application/x-font-ttf
      AddOutputFilterByType DEFLATE application/x-javascript
      AddOutputFilterByType DEFLATE application/xhtml+xml
      AddOutputFilterByType DEFLATE application/xml
      AddOutputFilterByType DEFLATE font/opentype
      AddOutputFilterByType DEFLATE font/otf
      AddOutputFilterByType DEFLATE font/ttf
      AddOutputFilterByType DEFLATE image/svg+xml
      AddOutputFilterByType DEFLATE image/x-icon
      AddOutputFilterByType DEFLATE text/css
      AddOutputFilterByType DEFLATE text/html
      AddOutputFilterByType DEFLATE text/javascript
      AddOutputFilterByType DEFLATE text/plain
      AddOutputFilterByType DEFLATE text/xml
    
      # Remove browser bugs (only needed for really old browsers)
      BrowserMatch ^Mozilla/4 gzip-only-text/html
      BrowserMatch ^Mozilla/4\.0[678] no-gzip
      BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
      Header append Vary User-Agent
    </IfModule>
    
    # BEGIN Cache-Control Headers
    <ifModule mod_headers.c>
      <filesMatch ".(ico|jpe?g|png|gif|swf)$">
        Header set Cache-Control "public"
      </filesMatch>
      <filesMatch ".(css)$">
        Header set Cache-Control "public"
      </filesMatch>
      <filesMatch ".(js)$">
        Header set Cache-Control "private"
      </filesMatch>
      <filesMatch ".(x?html?|php)$">
        Header set Cache-Control "private, must-revalidate"
      </filesMatch>
    </ifModule>
    # END Cache-Control Headers
    
    # BEGIN Turn ETags Off
    FileETag None
    # END Turn ETags Off
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-05
      • 1970-01-01
      • 1970-01-01
      • 2012-08-10
      • 1970-01-01
      相关资源
      最近更新 更多