Apache ExpiresByType同时具有通配符和特定mime类型

Apache ExpiresByType同时具有通配符和特定mime类型,apache,mod-expires,Apache,Mod Expires,如果我已将Apache设置为使用: ExpiresByType image/* A3600 ExpiresByType image/png A7200 可以推测,反转此选项将使所有图像缓存一小时,因为通配符是最后一个: ExpiresByType image/png A7200 ExpiresByType image/* A3600 图像将默认为一小时到期,但我的PNG文件会被缓存一个小时或两个小时吗?或者换个说法,mod_expires是否在找到第一个匹配项后继续处理规则?无论是在SO上还

如果我已将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

两者的结果都是一样的:PNG文件的过期日期设置为两小时,其他图像文件的过期日期设置为一小时,即更具体的ExpiresByType指令获胜,而不管顺序如何


变更日志表明,从古代Apache版本到最新版本,这种行为应该是一致的。

有趣的巧合是,一年后的今天,我面临着同样的问题:)令人毛骨悚然。我们最终没有改变它,而是选择了image/*和explicit ExpiresByType for text/html等。像您一样查看源代码/变更日志是正确的答案。谢谢@Sam!
ExpiresByType image/png A7200
ExpiresByType image/* A3600