Php .htaccess用于gzip编码和缓存,但YSlow报告';F';两方面

Php .htaccess用于gzip编码和缓存,但YSlow报告';F';两方面,php,apache,caching,compression,gzip,Php,Apache,Caching,Compression,Gzip,我对gzip压缩和缓存等优化技术是新手。在网上做了一些研究之后,我意识到这是可以通过基于一些apache处理程序的.htaccess实现的。我询问了我的网络主机,想知道mod_deflate和mod_headers库是否存在并且可用 我甚至查过firebug。它显示请求头“Accept Encoding gzip,deflate”,但响应字段中没有“内容编码”。有人能帮我找出哪里出了问题吗 以下是.htaccess文件的代码 Options -Indexes

我对gzip压缩和缓存等优化技术是新手。在网上做了一些研究之后,我意识到这是可以通过基于一些apache处理程序的.htaccess实现的。我询问了我的网络主机,想知道mod_deflate和mod_headers库是否存在并且可用

我甚至查过firebug。它显示请求头“Accept Encoding gzip,deflate”,但响应字段中没有“内容编码”。有人能帮我找出哪里出了问题吗

以下是.htaccess文件的代码

            Options -Indexes
            Options +FollowSymlinks
            RewriteEngine on

            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule . /index.php [L]

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


            # ----------------------------------------------------------------------
            # Expires headers (for better cache control)
            # ----------------------------------------------------------------------

            # These are pretty far-future expires headers.
            # They assume you control versioning with filename-based cache busting
            # Additionally, consider that outdated proxies may miscache
            # www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/

            # If you don't use filenames to version, lower the CSS and JS to something like
            # "access plus 1 week" or so.

            <IfModule mod_expires.c>
              ExpiresActive on

            # Perhaps better to whitelist expires rules? Perhaps.
              ExpiresDefault "access plus 1 month"

            # cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
              ExpiresByType text/cache-manifest "access plus 0 seconds"

            # Your document html
              ExpiresByType text/html "access plus 0 seconds"

            # Data
              ExpiresByType text/xml "access plus 0 seconds"
              ExpiresByType application/xml "access plus 0 seconds"
              ExpiresByType application/json "access plus 0 seconds"

            # Feed
              ExpiresByType application/rss+xml "access plus 1 hour"
              ExpiresByType application/atom+xml "access plus 1 hour"

            # Favicon (cannot be renamed)
              ExpiresByType image/x-icon "access plus 1 week"

            # Media: images, video, audio
              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"
              ExpiresByType video/ogg "access plus 1 month"
              ExpiresByType audio/ogg "access plus 1 month"
              ExpiresByType video/mp4 "access plus 1 month"
              ExpiresByType video/webm "access plus 1 month"

            # HTC files (css3pie)
              ExpiresByType text/x-component "access plus 1 month"

            # Webfonts
              ExpiresByType application/x-font-ttf "access plus 1 month"
              ExpiresByType font/opentype "access plus 1 month"
              ExpiresByType application/x-font-woff "access plus 1 month"
              ExpiresByType image/svg+xml "access plus 1 month"
              ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

            # CSS and JavaScript
              ExpiresByType text/css "access plus 1 year"
              ExpiresByType application/javascript "access plus 1 year"

            </IfModule>
选项-索引
选项+FollowSymlinks
重新启动发动机
重写基/
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
AddOutputFilterByType DEFLATE应用程序/x-javascript
AddOutputFilterByType DEFLATE text/css text/html text/plain text/xml
放气压缩级别9
# ----------------------------------------------------------------------
#Expires标头(用于更好的缓存控制)
# ----------------------------------------------------------------------
#这些都是相当遥远的未来过期标题。
#他们假设您通过基于文件名的缓存破坏来控制版本控制
另外,考虑过时的代理可能会误入歧途。
#www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/
#如果不使用文件名来设置版本,请将CSS和JS降低到类似的级别
#“访问加1周”左右。
过期于
#也许最好将过期规则列入白名单?也许。
ExpiresDefault“访问加1个月”
#cache.appcache需要在FF 3.6中重新请求(感谢Remy~引入HTML5)
ExpiresByType文本/缓存清单“访问加0秒”
#您的文档是html
ExpiresByType text/html“访问加0秒”
#资料
ExpiresByType text/xml“访问加0秒”
ExpiresByType应用程序/xml“访问加0秒”
ExpiresByType应用程序/json“访问加0秒”
#喂
ExpiresByType应用程序/rss+xml“访问加1小时”
ExpiresByType应用程序/atom+xml“访问加1小时”
#Favicon(无法重命名)
ExpiresByType图像/x图标“访问加1周”
#媒体:图像、视频、音频
ExpiresByType image/gif“访问加1个月”
ExpiresByType图像/png“访问加1个月”
ExpiresByType图像/jpg“访问加1个月”
过期按类型图像/jpeg“访问加1个月”
按类型视频/ogg“访问加1个月”过期
ExpiresByType音频/ogg“访问加1个月”
按类型视频/mp4“访问加1个月”过期
过期按类型视频/webm“访问加1个月”
#HTC文件(css3pie)
ExpiresByType文本/x组件“访问加1个月”
#网络字体
按类型应用程序到期/x-font-ttf“访问加1个月”
ExpiresByType字体/opentype“访问加1个月”
过期按类型应用程序/x-font-woff“访问加1个月”
ExpiresByType图像/svg+xml“访问加1个月”
ExpiresByType应用程序/vnd.ms-fontobject“访问加1个月”
#CSS和JavaScript
ExpiresByType文本/css“访问加1年”
ExpiresByType应用程序/javascript“访问加1年”

您确定主机提供商已启用这两个模块吗?您是否检查过同一提供商中托管的其他网站?有时小型主机提供商会关闭共享计划上的mod_deflate以节省一些CPU,从而增加共享

正在尝试在您的站点上创建任何js资源,例如:

curl -I "http://yslow.org/yslow-bookmarklet.js" -H "Accept-Encoding: gzip, deflate"
你应该得到类似于:

HTTP/1.1 200 OK
Server: nginx/1.0.13
Date: Wed, 06 Jun 2012 18:31:25 GMT
Content-Type: application/x-javascript
Last-Modified: Fri, 25 May 2012 16:11:28 GMT
Connection: keep-alive
Expires: Thu, 07 Jun 2012 18:31:25 GMT
Cache-Control: max-age=86400
Content-Encoding: gzip

查找
Content Encoding
以确保mod_deflate处于启用状态,并且
Expires
Cache Control
对于mod_Expires

您确定主机提供商已启用这两个模块吗?您是否检查过同一提供商中托管的其他网站?有时小型主机提供商会关闭共享计划上的mod_deflate以节省一些CPU,从而增加共享

正在尝试在您的站点上创建任何js资源,例如:

curl -I "http://yslow.org/yslow-bookmarklet.js" -H "Accept-Encoding: gzip, deflate"
你应该得到类似于:

HTTP/1.1 200 OK
Server: nginx/1.0.13
Date: Wed, 06 Jun 2012 18:31:25 GMT
Content-Type: application/x-javascript
Last-Modified: Fri, 25 May 2012 16:11:28 GMT
Connection: keep-alive
Expires: Thu, 07 Jun 2012 18:31:25 GMT
Cache-Control: max-age=86400
Content-Encoding: gzip
查找
Content Encoding
以确保mod_Expires处于启用状态,并且
Expires
mod_Expires的缓存控制