根据请求启用 mod_expire
我不是生成指向 file.js
的链接,而是计算版本号或哈希和并链接到 file--bbe02f946d.js
。我使用以下重定向规则来提供文件的当前版本:
RewriteRule ^(.*)--[a-z0-9]+\.js$ $1.js
现在,我想设置非常远的 这些请求的过期标头:
ExpiresActive on
ExpiresByType application/javascript "access plus 1 year"
这工作正常,但也适用于尚未版本化的资源(/file.js
请求)。如何仅为与 RewriteRule 匹配的请求设置过期标头?通常,我会使用
,但这不可用,因为应用程序必须能够在我可以修改 htaccess 的任意服务器上运行。
Instead of generating links to file.js
, I'm calculating a version number or hash sum and linking to file--bbe02f946d.js
. I'm using the following redirect rule to then serve the current version of the file:
RewriteRule ^(.*)--[a-z0-9]+\.js$ $1.js
Now, I want to set extremely far away Expires headers for those requests:
ExpiresActive on
ExpiresByType application/javascript "access plus 1 year"
This works fine, but applies to not yet versioned resources (/file.js
requests) too. How can I set the expires headers only for the requests matching the RewriteRule? Normally, I'd use <LocationMatch>
, but that's not available since the application must be able to run on arbitrary servers where I can just modify htaccess.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 htaccess 添加新的 mime 类型并设置自定义过期标头。
使用 .xjs 的示例
或仅使用
FilesMatch
中的正则表达式来匹配您的 js 文件You could add a new mime type with htaccess and set custom expire headers.
Example using .xjs
or just use regex in
FilesMatch
to match your js file