【问题标题】:ExpiresByType not working but <FilesMatch> IS in .htaccess?ExpiresByType 不起作用,但 <FilesMatch> 在 .htaccess 中?
【发布时间】:2013-08-04 16:02:11
【问题描述】:

我对此感到相当困惑,并希望有人能够提供一些启示。

在我的 htaccess 文件中,我有:

<IfModule mod_expires.c>
  ExpiresActive on
  ExpiresByType text/html  "access plus 4 hours"
</IfModule>

但是,当我检查标题时,它似乎不起作用。
我得到 "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"

但是如果我使用这个代码:

# 4 HOURS
<FilesMatch "\.(html|htm)$">
Header set Cache-Control "max-age=14400, must-revalidate"
</FilesMatch>

它确实获取了缓存。 max-age=14400,必须重新验证

我错过了什么吗?一个用于服务器,一个用于浏览器?我的意思是,我更喜欢使用第一个,因为如果它们都相同,它会附带样板。

提前致谢!

【问题讨论】:

    标签: .htaccess caching mod-expires


    【解决方案1】:

    我不知道你是否已经有了解决方案,但你确定你的服务器上启用了 mod_expire 吗?在ubuntu上sudo apache2ctl -M

    您也可以尝试注释掉&lt;IfModule mod_expires.c&gt;&lt;/IfModule&gt; 并重新启动apache。如果没有启用mod_expires,它会崩溃。

    启用 mod_expire:

    sudo a2enmod 过期

    mod_expires 将创建Expire 标头,并且应该只修改Cache-Control 标头的max-age=14400 部分。对于must-revalidate 部分,您必须使用Header

    【讨论】:

      猜你喜欢
      • 2013-07-18
      • 1970-01-01
      • 2013-01-01
      • 2016-04-18
      • 1970-01-01
      • 1970-01-01
      • 2013-04-04
      • 1970-01-01
      相关资源
      最近更新 更多