我正在为文件设置缓存控制标头。我想为所有max-age=86400
和.css
设置.js
,为所有其他设置max-age=3600
。
<FilesMatch "\.(css|js)$">
Header append Cache-Control max-age=86400
</FilesMatch>
<FilesMatch "???">
Header append Cache-Control max-age=3600
</FilesMatch>
我不知道应该写什么正则表达式来反转
\.(css|js)$
匹配。也许还有其他方法可以做到这一点?更新。根据this question答案,我找到了可行的解决方案:
<FilesMatch "(?<!\.css|\.js)$">
Header append Cache-Control max-age=3600
</FilesMatch>
不幸的是,找不到将点
\.
放在方括号之外的方法。但是这个解决方案对我来说仍然很好。附带说明一下,所有其他文件都包含完全没有文件名的文件,例如
http://example.com/
。 最佳答案
根据this question答案,我找到了可行的解决方案:
<FilesMatch "(?<!\.css|\.js)$">
Header append Cache-Control max-age=3600
</FilesMatch>
不幸的是,找不到将点
\.
放在方括号之外的方法。但是这个解决方案对我来说仍然很好。