具有通配符和特定 MIME 类型的 ExpiresByType

ExpiresByType with both a wildcard and a specific mime type

如果我将 Apache 设置为使用:

ExpiresByType image/* A3600
ExpiresByType image/png A7200

据推测,反转这将使所有图像缓存一小时,因为通配符是最后一个:

ExpiresByType image/png A7200
ExpiresByType image/* A3600

图片默认过期一小时,但我的 PNG 文件会缓存一两个小时吗?或者换个说法,mod_expires 在找到第一个匹配项后是否继续处理规则?无论是在 SO 上还是在文档中,甚至在在线示例中,我都找不到明确的答案。这可能在 HTTPd 版本之间保持一致吗?

我在 Apache 2.4.6 上观察到

ExpiresByType image/* A3600
ExpiresByType image/png A7200

ExpiresByType image/png A7200
ExpiresByType image/* A3600

两者的结果相同:PNG 文件的到期日期设置为两小时,其他图像文件的到期日期设置为一小时,即 更具体的 ExpiresByType 指令获胜,无论订单.

更改日志表明此行为从旧的 Apache 版本到最新版本应该是一致的。