相关疑难解决方法(0)

在Apache上使用Rails 3.1时,PageSpeed在使用Asset Pipeline apache配置时说"指定缓存验证器"

我发现Rails 3.1指南建议与Google PageSpeed管理缓存资产的建议之间存在冲突.

导轨3.1导游资产管道提供一个解决方案Apache服务器的配置这里

apache配置的重要部分是:

<LocationMatch "^/assets/.*$">
  # Some browsers still send conditional-GET requests if there's a
  # Last-Modified header or an ETag header even if they haven't
  # reached the expiry date sent in the Expires header.
  Header unset Last-Modified
  Header unset ETag
  FileETag None
  # RFC says only cache for 1 year
  ExpiresActive On
  ExpiresDefault "access plus 1 year"
</LocationMatch>
Run Code Online (Sandbox Code Playgroud)

一切正常,但是当我运行谷歌的PageSpeed,它抱怨说我应该"指定缓存验证"设置要么Last-Modified或者ETag,列出所有的资产文件夹中的文件.

评论Header unset Last-Modified满足PageSpeed.

我对各种页面加载进行了快速测试,至少在Chrome中,它似乎没有什么区别 - 资产是以任何方式缓存的.

有谁知道哪个合适?

apache ruby-on-rails ruby-on-rails-3.1 asset-pipeline

3
推荐指数
1
解决办法
1015
查看次数