0

我正在尝试根据环境变量并根据我应该使用该env条件的文档发送标头。

但是它不起作用。这是我的服务器配置:

RewriteRule ([^\[]+)(?:\[immutable\].)js$ $1.js [NC,QSA,L,E=immutable]

Header set Cache-Control "immutable, no-transform, public, max-age=31536000" env=immutable

我已经验证,如果我删除env=immutable,标头会发送所有响应。

预期结果是:

  • foo.immutable.jsfoo.js与 Cache-Control 标头一起使用
  • foo.js也应该提供foo.js但没有 Cache-Control 标头

关于它为什么不工作的任何想法,或者是否有办法在 ssl_access_log 中转储环境以进行调试?

4

1 回答 1

0

尝试检查那个 REDIRECT_immutable

由于您实际上进行了替换,并且您的 Rewrite 似乎在每个目录的上下文中,因此会发生内部重定向。因此,当 mod_headers 实际在最终 URL 的内部重定向上运行时,您的 envvar 将重命名为 REDIRECT_immutable。

于 2017-12-03T12:22:54.053 回答