根据请求启用 mod_expire

发布于 2024-12-02 16:53:17 字数 663 浏览 1 评论 0原文

我不是生成指向 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

街道布景 2024-12-09 16:53:17

您可以使用 htaccess 添加新的 mime 类型并设置自定义过期标头。

使用 .xjs 的示例

<IfModule mod_mime.c>
    AddType application/x-javascript .xjs
</IfModule>

<IfModule mod_gzip.c>
mod_gzip_item_include file \.xjs$
</IfModule>

<FilesMatch ".(xjs)$">
Header set Cache-Control "max-age=43200"
</FilesMatch>

或仅使用 FilesMatch 中的正则表达式来匹配您的 js 文件

<FilesMatch "--[a-z0-9]+\.js$">
Header set Cache-Control "max-age=43200"
</FilesMatch>

You could add a new mime type with htaccess and set custom expire headers.

Example using .xjs

<IfModule mod_mime.c>
    AddType application/x-javascript .xjs
</IfModule>

<IfModule mod_gzip.c>
mod_gzip_item_include file \.xjs$
</IfModule>

<FilesMatch ".(xjs)$">
Header set Cache-Control "max-age=43200"
</FilesMatch>

or just use regex in FilesMatch to match your js file

<FilesMatch "--[a-z0-9]+\.js$">
Header set Cache-Control "max-age=43200"
</FilesMatch>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文